更改网格视图详细信息

时间:2013-03-14 18:33:42

标签: asp.net datagridview

我有一个带有角色ID和用户ID的表,以及带有角色ID和用户ID的gridview,而不是显示ID我希望它显示用户名和角色。我怎么能改变这个呢。提前致谢

3 个答案:

答案 0 :(得分:0)

我假设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

答案 1 :(得分:0)

如果您使用的是Entity Framework,则可以为您的实体创建一个显示您的用户名和角色的分部类。

public partial class EntityUserRole
{
    public string UserName
    {
        get { return User!= null ? User.Name: ""; }
    }
    public string RoleName
    {
        get { return Role!= null ? Role.Name: ""; }
    }
}

答案 2 :(得分:0)

你的桌子必须是这样的......

<强> tbl_user:

userid |用户名| XYZ

   100   | Jack        | blah
   101   | Matt        | blahh

<强> tbl_role

fk_userid | roleid |作用

 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 

在你使用的DataTable或DataSet中获取它,然后像这样绑定你的GridView ......

GridView1.DataSource = dt ;
GridView1.DataBind();

不要犹豫,问任何你不理解的事情。