以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]递归目录树的E.note  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79104)

--  作者:blsu33
--  发布时间:2015/12/24 13:08:00
--  [求助]递归目录树的E.note
老师,
递归形成的目录树 编码+“ ” +姓名

 Dim dr1 As DataRow = e.Node.DataRow \'获取生成此节点的DataRow

发现找不到对应的dr1行 

是不是 我这么写的递归形成的目录树 不能对应到行?

--  作者:blsu33
--  发布时间:2015/12/24 13:19:00
--  
另外 按照 查表的方式 做了,但是好像合成表达式不正确,麻烦您再给看看

If e.Node.Nodes.Count = 0 Then
    If e.Form.DropDownBox IsNot Nothing Then
        Dim ary() As String = e.node.Text.Split(" ")
        Dim ary1() As String = e.Form.DropDownBox.BindingField.Split(".")
        Dim dr As DataRow = DataTables("Z005窗表字段设置").Find("[绑定表] =\'"& ary1(0) &"\' And [绑定列] =\'"& ary1(1) &"\' And [绑定窗口名称]=\'通用目录树\'")
        If dr IsNot Nothing AndAlso dr.IsNull("绑定赋值列")=False AndAlso dr.IsNull("取值列")=False Then \'如果在项目表找到对应的行
            Dim tr As Row = Tables(ary1(0)).Current
            Dim Parts(),Parts1(),Parts2() As String
            Dim str1 As String
            Dim i As Integer
            Parts=dr("取值显示列").Split(",")\'这块必须是编码规则+编码名称,否则不成为递归
            Parts1=dr("绑定赋值列").Split(",")
            Parts2=dr("取值列").Split(",")
            For i=0 To Parts.Length-1
                str1 &=" and " & Parts(i) & " like " & CStr(ary(i))
            Next
MessageBox.Show(str1.SubString(4))
            \'Dim dr1 As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
            Dim dr1 As DataRow = DataTables(dr("取值表")).Find(str1.SubString(4))\'获取生成此节点的DataRow
            If dr1 IsNot Nothing Then
                For i=0 To Parts1.Length-1
                    tr(Parts1(i)) = dr1(Parts2(i))
                    MessageBox.Show(tr(Parts1(i)))   ‘没有弹窗
                    MessageBox.Show(dr1(Parts2(i))) ’没有弹窗
                Next
Else
MessageBox.Show(1)                                      
            End If
            e.Form.DropDownBox.CloseDropdown
        End If
    End If
End If
[此贴子已经被作者于2015/12/24 13:19:07编辑过]

--  作者:blsu33
--  发布时间:2015/12/24 13:21:00
--  
MessageBox.Show(str1.SubString(4))
弹窗结果是

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20151224132042.png
图片点击可在新窗口打开查看


--  作者:blsu33
--  发布时间:2015/12/24 13:42:00
--  
还有提示

.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,通用目录树,TreeView2,AfterSelectNode
详细错误信息:
未找到列 [赵六吗]。


--  作者:blsu33
--  发布时间:2015/12/24 13:43:00
--  
赵六吗  没有出现在列的数组中 烦请老师给看看 是不是合成表达式有问题
--  作者:大红袍
--  发布时间:2015/12/24 14:15:00
--  
For i=0 To Parts.Length-1
    str1 &=" and " & Parts(i) & " like \'%" & CStr(ary(i)) & "%\'"
Next