创建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类的每个属性(除了复杂类型?)显示一列。

但我只想让它显示两列FirstNameLastName

我知道我可以通过程序将列添加到我的DataGridView中,如下所示:

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

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

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

我想设置我的DataGridViewDataSource。解决这个问题的最佳方法是什么?

提前谢谢!

编辑:

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

创建DataGridView并设置DataSource

如果你只计划在程序中的一个地方使用它,我会在你的属性上使用Browseable属性,并将除Person.Firstname和Person.lastName 外的所有属性都设置为False

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