我正在尝试为Lightswitch中的多值参数设置默认值,但我没有运气。
例如,我有一个硬件清单。 “硬件”表包含('active',bool)和('company_id',int)字段。 Company_id是Company表的外键,其中包含可供选择的公司列表。
我想基于这两个字段过滤我的Lightswitch屏幕,但是当屏幕首次加载时,我希望它默认为主要公司,用于活动硬件。
我为'active'参数创建了Local Property,将其添加到屏幕上。 设置company参数的下拉列表需要:
然后我在代码中指定了默认值:
partial void Screen1_Created()
{
// Write your code here.
SelectedCompanies.company_id = 2;
selected_active_property = true;
}
这适用于'active'参数(布尔值),但SelectedCompanies行给出了一个intellisense错误:
无法将属性或索引器“LightswitchApplication.company.company_id”分配给 - 它是只读的
之前有没有人为这种类型的参数获得默认值?
答案 0 :(得分:5)
在LightSwitch中,您无法直接设置外键。你必须从表中检索实体,&将该实体分配给实体属性。
所以,在你的情况下,它将是:
partial void Screen1_Created()
{
SelectedCompany = this.DataWorkspace.ApplicationData.Companies_SingleOrDefault(2);
selected_active_property = true;
}