如何使用BindingSource DataSource与DataGridViewRow列表?

时间:2016-01-15 14:04:13

标签: c# winforms datagridview

我正在尝试使用Binding Source填充DataGridView。问题是我不知道如何将DataGridViewRow(或任何类型的结构,除了我目前正在避免的DataTable)的列表传递给BindingSource DataSource,因为通过这样做,我看到了所有的类属性而不是仅限细胞内容。此代码似乎不起作用:

bindingSource.DataSource = dgvRowsList;
bindingSource.DataMember = "Cells";
datagrid.DataSource = bindingSource;

提前致谢!

1 个答案:

答案 0 :(得分:0)

DataGridViewRows是由数据绑定b / w datagridview和datasource对象自动生成的,数据源对象通常是一些.net数据结构,如List,DataTable等。你可能不需要使用数据绑定,而是直接操作datagridview,这个您将手动创建新行的方式。请参阅How to add a new row to datagridview programmatically

如果由于某种原因想要控制数据绑定如何解释数据源对象中的数据,则需要定义返回PropertyDescriptor集合的自定义TypeDescriptor,通过这样做,您可以指定将作为基础数据的属性公开的内容对象(但这个解决方案更适用于复杂的情况)。