我有一个具有角色id和用户id的表,以及具有角色id和用户id的gridview,而不是显示id,我希望它显示用户名和角色。请问我该怎么换呢?提前感谢
如果你正在使用实体框架,你可以为你的实体创建一个部分类,显示你的用户名和角色。
public partial class EntityUserRole
{
public string UserName
{
get { return User!= null ? User.Name: ""; }
}
public string RoleName
{
get { return Role!= null ? Role.Name: ""; }
}
}
我假设ID是具有该名称和角色的其他表的外键。在SQL中,需要将这些表连接到网格中显示的表。我使用LEFT OUTER JOINS
因此(一般情况下)您将得到如下内容:
SELECT
t.*
,u.UserName
,r.RoleName
FROM MyTable t
LEFT OUTER JOIN myRoleMasterTable r on r.Id = t.RoleId
LEFT OUTER JOIN myUserMasterTable u on u.Id = t.UserId
您的表必须是这样的…
tbl_user:
userid | username | xyz
100 | Jack | blah
101 | Matt | blahh
tbl_role
fk_userid | roleid | role
101 | 1 | doctor
102 | 2 | nurse
查询:
SELECT tbl_user.name, tbl_role.role FROM tbl_user.userid inner join tbl_role
ON tbl_user.userid = tbl_role.fk_userid
在你的数据表或数据集的任何你正在使用,然后绑定你的GridView与它像这样…
GridView1.DataSource = dt ;
GridView1.DataBind();
有不懂的尽管问。