在Lightswitch中设置参数的默认值

时间:2012-12-04 19:19:09

标签: parameters visual-studio-lightswitch

我正在尝试为Lightswitch中的多值参数设置默认值,但我没有运气。

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

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

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

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

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

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

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

  

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

之前有没有人为这种类型的参数获得默认值?

1 个答案:

答案 0 :(得分:5)

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

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

partial void Screen1_Created()
{
    SelectedCompany = this.DataWorkspace.ApplicationData.Companies_SingleOrDefault(2);
    selected_active_property = true;
}