(.NET 2.0、System.Windows.FormsDataGridView 和 DataTable)
我有 1 个数据网格连接到 1 个数据表。
该数据表包含 1 列:包含我自己类型“MyObject”的对象。
MyObject 有一个公共字符串属性“MyProp”。
我想在网格中显示 1 列:显示表中 MyObjects 的属性 MyProp 的字符串值。
但我似乎无法让它工作。
示意图:
- myTable.Column1.Name:“对象”
- myDataSet 包含 1 个表:myTable(填充了几行)
- myBindingSource.datasource = myDataSet
- myBindingSource.DataMember = myTable
- myDataGridView.DataSource = myBindingSource
在 myDataGridView: 1 DataGridViewTextBoxColumn
试用一:
Column.DataPropertyName="Obj"(默认生成)
显示(覆盖)MyObject.ToString() 的结果 不是我想要的,这个函数用于记录。
- 试玩2:
GridViewColumn.DataPropertyName="Obj.MyProp"
不显示任何内容(从未调用 MyProp 的get)
试用 3:使 MyProp 属性可绑定:
[Bindable (BindableSupport.Yes)] public string MyProp { ...
相同,与试用 2 没有区别
简而言之:
GridViewColumn.DataPropertyName 似乎不支持进一步深入到数据表列中的对象。
有人有什么想法吗?
提前致谢!
简