在Lightswitch中设置参数的默认值

Jef*_*les 1 parameters visual-studio-lightswitch

我试图在Lightswitch中设置一个多值参数的默认值,但我没有运气.

举个例子,我有一个硬件清单."硬件"表包含('active',bool)和('company_id',int)字段.Company_id是Company表的外键,其中包含可供选择的公司列表.

我想基于这两个字段过滤我的Lightswitch屏幕,但是当屏幕第一次加载时,我希望它默认为主要公司,用于活动硬件.

我为我的'active'参数创建了Local Property,将其添加到屏幕上.设置company参数的下拉列表需要:

  • 添加数据项(作为查询,从我的数据源中选择表,名为Companies)
  • 添加数据项(作为公司类型的本地属性,名为SelectedCompany)
  • 将查询参数绑定到SelectedCompanies.company_id属性
  • 将SelectedCompanies添加到屏幕

然后我在代码中指定了默认值:

partial void Screen1_Created()
    {
        // Write your code here.
        SelectedCompanies.company_id = 2;
        selected_active_property = true;
    }
Run Code Online (Sandbox Code Playgroud)

这适用于'active'参数(布尔值),但SelectedCompanies行给出了一个intellisense错误:

无法将属性或索引器"LightswitchApplication.company.company_id"分配给 - 它是只读的

有没有人为这种类型的参数提供默认值?

Yan*_*ran 5

在LightSwitch中,您无法直接设置外键.您必须从表中检索实体,并将该实体分配给实体属性.

所以,在你的情况下,它将是:

partial void Screen1_Created()
{
    SelectedCompany = this.DataWorkspace.ApplicationData.Companies_SingleOrDefault(2);
    selected_active_property = true;
}
Run Code Online (Sandbox Code Playgroud)