以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于树形表格获取行信息的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121502) |
-- 作者:huangxueyao -- 发布时间:2018/7/7 16:48:00 -- 关于树形表格获取行信息的问题 http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=57759&authorid=0&page=0&star=1 上面这个帖子里面,点击某一行后,怎样获取到当前行的编号值呢? 窗口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 |
-- 作者:有点甜 -- 发布时间:2018/7/9 10:23:00 -- 比如代码
Dim t As Table = Forms("窗口1").controls("table1").Table |
-- 作者:huangxueyao -- 发布时间:2018/7/10 8:23:00 -- 好的非常感谢 |