我的DataGridView需要支持许多类型,这些类型可能有任何数量的公共属性,而不是我想要显示的所有属性。
有人能提出一种在将类绑定到数据源时动态自定义DataGridView的列的方法吗?例如,是否有一个属性可以告诉控件是否将属性用作列?
非常感谢您的建议。
默认情况下(启用自动列生成),它只需(通过ComponentModel)获得[Browsable(true)]
属性(或省略该属性的属性)。
如果这是该数据绑定的唯一用法,则可以将[Browsable(false)]
添加到不想显示的属性中。请注意,这也将阻止常规数据绑定(即TextBox
、PropertyGrid
等)到这些属性。
事实上,我认为最好创建自己的属性,并使用它来找到要通过反射显示的属性(并自己构建列)。