在考虑这个方法的时候,曾经遇到过很多误区,一开始我总是相让属性表以上下结构显示,即上面是表头是属性名,而表中有一行数据来显示各个属性:
------|--------|-----------
ID NAME AGE
------|--------|-----------
001 JACK 20
------|--------|-----------
但是实际使用的时候却麻烦多多,对于不同的要素类而言,我们没有办法规定要素类属性的数目,曾经考虑使用Hash表,链表等多种数据结构,还是不好解决这个问题,最后回到开始,还是采用左边为属性名,右边为属性的方法:
在VB.NET中代码如下:
' 产生一个数据表
Dim myDataTable As DataTable = New DataTable("ParentTable")
' Declare variables for DataColumn and DataRow objects.
Dim myDataColumn As DataColumn
Dim myDataRow As DataRow
' Create new DataColumn, set DataType, ColumnName and add to DataTable.
myDataColumn = New DataColumn
myDataColumn.DataType = System.Type.GetType("System.String")
myDataColumn.ColumnName = "属性名"
myDataColumn.ReadOnly = True
myDataColumn.Unique = True
' Add the Column to the DataColumnCollection.
myDataTable.Columns.Add(myDataColumn)
' Create second column.
myDataColumn = New DataColumn
myDataColumn.DataType = System.Type.GetType("System.String")
myDataColumn.ColumnName = "属性"
myDataColumn.AutoIncrement = False
myDataColumn.Caption = "ParentItem"
myDataColumn.ReadOnly = False
myDataColumn.Unique = False
' Add the column to the table.
myDataTable.Columns.Add(myDataColumn)
' Instantiate the DataSet variable.
myDataSet = New DataSet
' Add the new DataTable to the DataSet.
myDataSet.Tables.Add(myDataTable)
' Create three new DataRow objects and add them to the DataTable
Dim i As Integer
For i = 0 To 100
myDataRow = myDataTable.NewRow()
myDataRow("id") = i
myDataRow("ParentItem") = "ParentItem " + i.ToString()
myDataTable.Rows.Add(myDataRow)
Next i
DataGrid1.SetDataBinding(myDataSet, "ParentTable")
GridControl1.DataSource = myDataSet
GridControl1.DataMember = "parenttable"
GridControl1.MainView.PopulateColumns()
GridControl1是一种独特的表格控件,数据的填充也是随意的,但其主要过程就是产生一个有两个字段的表,然后填充数据,放入到GridControl1中去.

相关评论
