以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于树形表格获取行信息的问题  (http://www.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
Dim r As Row = t.rows(t.grid.Selection.r1-t.HeaderRows, True)
msgbox(r("编号"))


--  作者:huangxueyao
--  发布时间:2018/7/10 8:23:00
--  
好的非常感谢