谢谢老师,在老师指导下 完美解决!
当前内部函数代码如下:
Dim dr1 As DataRow = args(0)
Dim faIDpath As String = args(1)
Dim namepath As String = args(2)
Dim dt As DataTable = args(3)
Dim drs As List(of DataRow)
drs = dt.Sel ect("faID ='" & dr1("ID") & "'")
If drs.count = 0 Then
Dim dr2 As DataRow = DataTables("测试表").AddNew()
Dim sr() As String = faIDpath.split(".")
Dim sr1() As String = namepath.split(".")
For i As Integer = 0 To sr.length - 1
dr2("第" & (i+1) & "节") = sr(i)
For i1 As Integer = 0 To sr1.length - 1
dr2("第" & (i+1) & "节名称") = sr1(i1)
Next
Next
dr2("窗体id") = dr1("formid")
dr2("导航名") = dr1("name")
Else
For Each dr As DataRow In drs
Functions.Execute("AddChildren",dr,faIDpath & "." & dr("ID"),namepath & "." & dr("name"),dt)
Next
End If
按钮代码如下:
If DataTables.Contains("测试表") Then '如果表已经加载
DataTables.Unload("测试表") '卸载表
End If
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Co nnec ti onNa me = "主数据源"
cmd.CommandText = "Sel ect * From sys_Navigation"
dt = cmd.ExecuteReader()
Dim dtb As New DataTableBuilder("测试表")
dtb.AddDef("第1节", Gettype(String), 64)
dtb.AddDef("第1节名称", Gettype(String), 64)
dtb.AddDef("第2节", Gettype(String), 64)
dtb.AddDef("第2节名称", Gettype(String), 64)
dtb.AddDef("第3节", Gettype(String), 64)
dtb.AddDef("第3节名称", Gettype(String), 64)
dtb.AddDef("第4节", Gettype(String), 64)
dtb.AddDef("第4节名称", Gettype(String), 64)
dtb.AddDef("第5节", Gettype(String), 64)
dtb.AddDef("第5节名称", Gettype(String), 64)
dtb.AddDef("窗体id", Gettype(String), 64)
dtb.AddDef("导航名", Gettype(String), 64)
dtb.Build()
Dim drs As List(of DataRow)
drs = dt.Select("faID is null")
For Each dr As DataRow In drs
Functions.Execute("AddChildren",dr ,dr("ID"),dr("name"),dt)
Next
MainTable=Tables("测试表")