【问题标题】:.NET Datagrid Control Binding method.NET Datagrid 控件绑定方法
【发布时间】:2011-07-23 10:26:02
【问题描述】:

我有 2 个对象。 1) 输入用户,其属性为姓名、姓氏、电子邮件和角色

现在 Role 是一个属性类型 Role,它的属性是 RoleID 和 RoleName。

我希望将 User 对象与数据网格绑定,由于 [Role] 不是字符串类型,如何在网格中显示角色名称?

【问题讨论】:

标签: c# .net asp.net datagrid


【解决方案1】:

我为你做了一个示例代码。我希望它会有所帮助。 我使用了一个 Linq 来设置绑定源:

public partial class Form1 : Form
{
    DataGridView dgv;
    BindingList<User> bList;
    public Form1()
    {
        InitializeComponent();
        dgv = new DataGridView();
        dgv.Location = new Point(20, 20);
        dgv.Size = new Size(600, 200);
        this.Controls.Add(dgv);
        PopulatingDGV();
    }

    private void PopulatingDGV()
    {
        bList = new BindingList<User>();
        bList.Add(new User
        {
            Name = "John",
            SureName = "Walker",
            Email = "john@gmail.com",
            _Role = new Role { RoleID = 1, RoleName = "Role No.1" }
        });
        bList.Add(new User
        {
            Name = "Sara",
            SureName = "Johnson",
            Email = "sj@yahoo.com",
            _Role = new Role { RoleID = 2, RoleName = "Role No.2" }
        });

        //this:
        //dgv.DataSource = new BindingSource { DataSource = bList.Select(s => new { s.Name, s.SureName, s.Email, s._Role.RoleID, s._Role.RoleName }) };
        //that:
        dgv.DataSource = bList.Select(s => new { s.Name, s.SureName, s.Email, s._Role.RoleID, s._Role.RoleName }).ToList();

        dgv.Columns[0].HeaderText = "User`name";
        dgv.Columns[1].HeaderText = "User`s last name";
        dgv.Columns[2].HeaderText = "E - mail";
        dgv.Columns[3].HeaderText = "Role id";
        dgv.Columns[4].HeaderText = "Role name";
    }
}

class User
{
    public string Name { get; set; }
    public string SureName { get; set; }
    public string Email { get; set; }
    public Role _Role { get; set; }
}

class Role
{
    public int RoleID { get; set; }
    public string RoleName { get; set; }
}

米加

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多