如何在数据网格Silverlight中加载组合框中的项目?

时间:2012-07-11 05:22:30

标签: c# silverlight wcf-ria-services domainservices

应用程序:Silvelight 4商业应用程序模板+ RIA服务+ C#。 我将aspnet成员资格数据库合并到我的数据库中。 我可以注册用户,登录和注销。

我需要能够从应用程序/客户端UI分配用户角色。 我使用配置工具创建的aspnet成员资格中有3个角色。

我创建了一个额外的表“UserAccess”,其中aspnet_Users表中的 UserId FK ,aspnet_Roles表中的 RoleID FK 作为PK开始

使用ADO.net实体数据模型生成的实体。 生成的域服务类使用这些实体。

在服务类文件中,我将“include”关键字添加到

UserAccesses.Include("aspnet_Users").Include("aspnet_Roles");

在元数据文件

[Include]
public aspnet_Roles aspnet_Roles { get; set; }
[Include]
public aspnet_Users aspnet_Users { get; set; }

因为我有导航属性。

我使用域数据源(RIA控件)并将datagrid拖到我的页面上。 我将角色设置为组合框。 我成功地加载了表,包括用户名和其他表中的rolename。 默认情况下,所有内容都正确显示。

<ComboBoxItem Content="{Binding Path=aspnet_Roles.RoleName, Mode=TwoWay}" />

但是当我点击cell / combobox时,我想加载3个可用角色,以便用户可以编辑/选择并提交更改?我怎样才能做到这一点?

干杯

1 个答案:

答案 0 :(得分:0)

您必须加载aspnet_Roles表行并将其绑定到ComboBox。你需要将它存储在一个单独的属性中并像这样绑定它

ItemSource={Binding Path=Roles, Source={StaticResource YourViewModel}}"

干杯! 维诺德