【发布时间】:2009-01-28 16:38:58
【问题描述】:
(.NET 2.0,System.Windows.FormsDataGridView 和 DataTable)
我有 1 个数据网格连接到 1 个数据表。
该数据表包含 1 列:包含我自己类型“MyObject”的对象。
MyObject 有一个 public 字符串属性“MyProp”。
我想在网格中显示 1 列:显示表中 MyObjects 的属性 MyProp 的字符串值。
但我似乎无法让它工作。
示意图:
- myTable.Column1.Name: "Obj"
- myDataSet 包含 1 个表:myTable(填充了几行)
- myBindingSource.datasource = myDataSet
- myBindingSource.DataMember = myTable
- myDataGridView.DataSource = myBindingSource
在 myDataGridView 中:1 个 DataGridViewTextBoxColumn
试用 1:
Column.DataPropertyName="Obj"(默认生成)
显示(覆盖)MyObject.ToString() 的结果 不是我想要的,这个函数是用来记录的。
- 试用 2:
GridViewColumn.DataPropertyName="Obj.MyProp"
不显示任何内容(从未调用 MyProp 的 get)
-
试用 3: 使 MyProp 属性可绑定:
[Bindable (BindableSupport.Yes)] public string MyProp { ...相同,与试用 2 没有区别
简而言之:
GridViewColumn.DataPropertyName 似乎不支持进一步深入到数据表列中的对象。
有人有什么想法吗?
提前致谢!
一月
【问题讨论】:
-
为什么选择datagridview?是否涉及分页?
-
因为这是默认的网格组件,DataGrid 不在工具箱中。
标签: c# datagridview datatable