创建DataGridView并设置DataSource

时间:2014-08-25 13:52:13

标签: c# datagridview

我得到了一个对象列表 - 比如在我的表单的构造函数中实例化类型PersonDataGridView

public Form() {

    List<Person> Persons = new List<Person>();
    DataGridView.DataSource = Persons;
}

默认情况下,DataGridView会为我的Person类的每个属性(复杂类型除外?)显示一列。

但我只是想让它显示两列FirstNameLastName

我知道我可以通过编程方式向我的DataGridView添加列:

DataGridView.Columns.Add("Firstname", "Firstname");

但我不想像这样添加我的项目

foreach (var item in Persons) {
            DataGridView.Rows.Add(item.FirstName);
        }

我想要设置DataSource的{​​{1}}。什么是解决这个问题的最佳方法?

提前谢谢!

编辑:

我的列表将被更新或重置等。我想更新列表并刷新绑定。我不想在我的DataGrid中处理一些看不见的IndexRow,这就是为什么我不想迭代所有项目并为每个人添加一行。我希望你现在明白我的问题

1 个答案:

答案 0 :(得分:0)

如果你只打算在你的程序中的一个地方使用它,我会在你的属性上使用Browsable属性并将它们全部设置为False,除了Person.Firstname和Person.lastName

如果你需要在多个地方使用它,你可以制作一个人集合并公开一个名为FirstLastNameTable的DataTable对象或类似的东西,然后立即创建一个DataTable并绑定到它。