Foxtable(狐表)用户栏目专家坐堂 → [求助]递归目录树的E.note


  共有2390人关注过本帖树形打印复制链接

主题:[求助]递归目录树的E.note

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]递归目录树的E.note  发帖心情 Post By:2015/12/24 13:08:00 [只看该作者]

老师,
递归形成的目录树 编码+“ ” +姓名

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

发现找不到对应的dr1行 

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

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/24 13:21:00 [只看该作者]

MessageBox.Show(str1.SubString(4))
弹窗结果是

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


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/24 13:42:00 [只看该作者]

还有提示

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


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/24 13:43:00 [只看该作者]

赵六吗  没有出现在列的数组中 烦请老师给看看 是不是合成表达式有问题

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/24 14:15:00 [只看该作者]

For i=0 To Parts.Length-1
    str1 &=" and " & Parts(i) & " like '%" & CStr(ary(i)) & "%'"
Next

 回到顶部