Lightswitch HTML客户端-在创建屏幕时设置模式选择器值

Crezzer7

我已经对此做了大量研究,没有一个例子是有用的或不适用的。我想做的是当用户加载“添加”屏幕时,我希望“详细信息选择器”在创建屏幕时显示一个名称,而不是每次都要选择它。即时通讯可以做到,但我的JavaScript技能不足。

感谢您的帮助,下面是一个示例:

在此处输入图片说明

此名称存储在表格中,并且可以在此模式选择器/详细信息选择器中搜索,但是正如您可以想象的那样,如果此值需要50%的时间,则手动添加它不仅费时,而且会变得有些乏味

可以通过使用contentItem.value在每个项目上element.innerText来操纵文本框post render,但这不适用于这种类型的控件,并且出现以下错误:在此处输入图片说明

以下是一些有用的信息,可能会有所帮助:

  • ProjectData(数据源)
  • 主屏幕引用OrderRequest
  • 在DetailsPicker上搜索外键链接引用ShippingContact和CustomerName

根据下面的答案,我需要用什么代替顶部函数,然后以第二部分代码为基础,您defaultLookup(screen.Customer, "Contact", "Contacts",在此处编写了什么内容?

我试图改变的例子,不幸的是,这是行不通的

var defaultValue = "Test User";
    var filter = "(ContactName eq " + msls._toODataString(defaultValue, ":String") + ")";
    defaultLookup(screen.OrderRequest, "ContactName", "ShippingContacts", { filter: filter });
克里斯·库克(Chris Cook)

具有相同的要求,我们实现了以下帮助器功能:-

function defaultLookup (entity, destinationPropertyName, sourceCollectionName, options) {
    /// <summary>
    /// Defaults an entity's lookup property
    /// </summary>
    /// <param name="entity" type="Object">The entity featuring the lookup property to default</param>
    /// <param name="destinationPropertyName" type="String">The lookup property against the entity to default</param>
    /// <param name="sourceCollectionName" type="String">The collection from which to source the lookup value</param>
    /// <param name="options" type="PlainObject" optional="true">
    /// A set of key/value pairs used to select additional configuration options. All options are optional.
    /// <br/>- String filter: If supplied, defines the match condition for the required default, otherwise the lookup defaults to the first entry in the source collection
    /// </param>
    options = options || {}; // Force options to be an object
    var source = myapp.activeDataWorkspace.ApplicationData[sourceCollectionName]; // DataServiceQuery
    var query = {}; //DataServiceQuery
    if (options.filter) {
        query = source.filter(options.filter);
    } else {
        query = source.top(1);
    }
    query.execute().then(function (result) {
        entity[destinationPropertyName] = result.results[0];
    });
};

在您的情况下,您需要将ApplicationData更改为读取ProjectData。

可以在屏幕的已创建事件中调用此方法,如下所示:-

myapp.AddEditCustomer.created = function (screen) {
    var defaultValue = "Chris Cook";
    var filter = "(Name eq " + msls._toODataString(defaultValue, ":String") + ")";
    defaultLookup(screen.Customer, "Contact", "Contacts", { filter: filter });
};

在您的情况下,应将screen.Customer更改为screen.OrderRequest,将“ Contact”更改为“ CustomerName”,将“ Contacts”更改为“ ShippingContacts”。同样,基于您的查找表具有一个名为ContactName的字段,筛选器字符串需要引用ContactName而不只是名称。

或者,可以从您的实体创建的事件(在UserCode脚本部分中)调用此帮助器,如下所示:-

myapp.Customer.created = function (entity) {
    var defaultValue = "Chris Cook";
    var filter = "(Name eq " + msls._toODataString(defaultValue, ":String") + ")";
    defaultLookup(entity, "Contact", "Contacts", { filter: filter });
};

在我的代码示例中,主表称为“客户”,而查找表称为“联系人”。主表中的“联系人”字段引用“联系人”表中的条目。联系人表具有一个名为“名称”的字段和一条记录,该记录的名称设置为“克里斯·库克”的值(defaultValue和过滤器变量指的是这种情况)。

下图显示了正在调试的screen.Customer属性:-

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Lightswitch HTML客户端-在创建屏幕时设置模式选择器值

来自分类Dev

使用Lightswitch HTML客户端在屏幕之间传递数据

来自分类Dev

如何在HTML5 Lightswitch客户端中检测添加或编辑模式?

来自分类Dev

LightSwitch HTML客户端项目无法加载

来自分类Dev

LightSwitch 2013 HTML客户端无法破解Javascript

来自分类Dev

用于Visual Studio 2010的lightswitch html客户端

来自分类Dev

LightSwitch 2013 HTML客户端无法破解Javascript

来自分类Dev

Lightswitch-在HTML客户端中传递参数

来自分类Dev

如何在LightSwitch ODATA中定义动作并从LightSwitch HTML客户端使用它们

来自分类Dev

如何在LightSwitch ODATA中定义动作并从LightSwitch HTML客户端使用它们

来自分类Dev

Lightswitch HTML客户端:如何重新呈现项目(重新执行postRender回调)

来自分类Dev

VS 2013 LightSwitch HTML客户端未在“发布”配置中完全加载

来自分类Dev

Lightswitch HTML-屏幕过度拉伸

来自分类Dev

Lightswitch HTML客户端日期数据显示。IE中的语言环境意识在FireFox中不是语言环境意识

来自分类Dev

LightSwitch HTML详细信息选择器与自动完成不一致

来自分类Dev

如何在Lightswitch html项目中更改屏幕尺寸

来自分类Dev

Odoo Web客户端。无法使用jquery选择器选择html元素

来自分类Dev

设置客户端到服务器(和数据库)的连接并更新客户端 html

来自分类Dev

php的服务器端关联数组到html的客户端端

来自分类Dev

Samba客户端设置

来自分类Dev

MQTT如何从客户端创建客户端?

来自分类Dev

构建 HTML 客户端 VS 服务 HTML 服务器端?

来自分类Dev

带选择器的Apache Kafka客户端?

来自分类Dev

SharePoint客户端人员选择器组ID

来自分类Dev

Angularize SharePoint客户端分类选择器

来自分类Dev

HTML5:我是否需要同时在客户端和服务器端验证Web表单,还是可以只在客户端进行验证?

来自分类Dev

DateEdit在客户端设置日期值

来自分类Dev

从客户端在剑道日期选择器上设置最大日期

来自分类Dev

Lightswitch HTML:错误:值不能为null。参数名称:属性

Related 相关文章

  1. 1

    Lightswitch HTML客户端-在创建屏幕时设置模式选择器值

  2. 2

    使用Lightswitch HTML客户端在屏幕之间传递数据

  3. 3

    如何在HTML5 Lightswitch客户端中检测添加或编辑模式?

  4. 4

    LightSwitch HTML客户端项目无法加载

  5. 5

    LightSwitch 2013 HTML客户端无法破解Javascript

  6. 6

    用于Visual Studio 2010的lightswitch html客户端

  7. 7

    LightSwitch 2013 HTML客户端无法破解Javascript

  8. 8

    Lightswitch-在HTML客户端中传递参数

  9. 9

    如何在LightSwitch ODATA中定义动作并从LightSwitch HTML客户端使用它们

  10. 10

    如何在LightSwitch ODATA中定义动作并从LightSwitch HTML客户端使用它们

  11. 11

    Lightswitch HTML客户端:如何重新呈现项目(重新执行postRender回调)

  12. 12

    VS 2013 LightSwitch HTML客户端未在“发布”配置中完全加载

  13. 13

    Lightswitch HTML-屏幕过度拉伸

  14. 14

    Lightswitch HTML客户端日期数据显示。IE中的语言环境意识在FireFox中不是语言环境意识

  15. 15

    LightSwitch HTML详细信息选择器与自动完成不一致

  16. 16

    如何在Lightswitch html项目中更改屏幕尺寸

  17. 17

    Odoo Web客户端。无法使用jquery选择器选择html元素

  18. 18

    设置客户端到服务器(和数据库)的连接并更新客户端 html

  19. 19

    php的服务器端关联数组到html的客户端端

  20. 20

    Samba客户端设置

  21. 21

    MQTT如何从客户端创建客户端?

  22. 22

    构建 HTML 客户端 VS 服务 HTML 服务器端?

  23. 23

    带选择器的Apache Kafka客户端?

  24. 24

    SharePoint客户端人员选择器组ID

  25. 25

    Angularize SharePoint客户端分类选择器

  26. 26

    HTML5:我是否需要同时在客户端和服务器端验证Web表单,还是可以只在客户端进行验证?

  27. 27

    DateEdit在客户端设置日期值

  28. 28

    从客户端在剑道日期选择器上设置最大日期

  29. 29

    Lightswitch HTML:错误:值不能为null。参数名称:属性

热门标签

归档