窗口1_AfterLoad
Dim dt As DataTable = DataTables("表A")
Dim tb As Table = e.Form.Controls("Table1").Table
Dim dt1 As new system.data.DataTable
With dt1.Columns
.Add("编号", Gettype(String))
End With
tb.DataSource = dt1
Dim flex As C1FlexGrid.C1FlexGrid = tb.Grid
With flex.Tree
.Column = 1
.Style = C1FlexGrid.TreeStyleFlags.SimpleLeaf
.LineColor = Color.DarkBlue
End With
flex.Cols("编号").AllowResizing = True
flex.SubtotalPosition = C1FlexGrid.SubtotalPositionEnum.AboveData
Dim node As C1FlexGrid.node
For Each dr As DataRow In dt.datarows
If dr.IsNull("父键") Then
node = flex.rows.insertnode(flex.Rows.count,0)
node.Row("编号") = dr("键")
Functions.Execute("AddChildren",node,dt,flex,1)
End If
Next
自定义函数
AddChildren
Dim node As C1FlexGrid.Node = args(0)
Dim dt As DataTable = args(1)
Dim flex As C1FlexGrid.C1FlexGrid = args(2)
Dim level As Integer = args(3)
Dim drs As List(of DataRow)
drs = dt.Select("[父键] = '" & node.Row("编号") & "'")
level = level + 1
For Each dr As DataRow In drs
node = flex.rows.insertnode(flex.Rows.count,level)
node.Row("编号") = dr("键")
Functions.Execute("AddChildren",node,dt,flex,level)
Next