创建DataGridView并设置DataSource
本文关键字:DataSource 设置 DataGridView 创建 | 更新日期: 2023-09-27 18:19:29
我得到了一个对象列表,比如说类型为Person
的对象和在表单的构造函数中实例化的DataGridView
的对象。
public Form() {
List<Person> Persons = new List<Person>();
DataGridView.DataSource = Persons;
}
默认情况下,DataGridView
将为我的Person
类的每个属性(除了复杂类型?)显示一列。
但我只想让它显示两列FirstName
和LastName
。
我知道我可以通过程序将列添加到我的DataGridView
中,如下所示:
DataGridView.Columns.Add("Firstname", "Firstname");
但我不想像这个那样添加我的项目
foreach (var item in Persons) {
DataGridView.Rows.Add(item.FirstName);
}
我想设置我的DataGridView
的DataSource
。解决这个问题的最佳方法是什么?
提前谢谢!
编辑:
我的列表将被更新或重置等。我只想更新列表并刷新绑定。我不想在我的DataGrid中处理一些不可见的IndexRow,这就是为什么我不想遍历所有项目并为每个人添加一行。我希望你现在能理解我的问题
如果你只计划在程序中的一个地方使用它,我会在你的属性上使用Browseable属性,并将除Person.Firstname和Person.lastName 外的所有属性都设置为False
如果你需要在多个地方使用它,你可以创建一个person集合,并公开一个名为FirstLastNameTable的DataTable对象或类似的对象,然后动态创建一个DataTable并绑定到它。