Foxtable(狐表)用户栏目专家坐堂 → 目录树节点代码


  共有1999人关注过本帖平板打印复制链接

主题:目录树节点代码

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


加好友 发短信
等级:九尾狐 帖子:2457 积分:22673 威望:0 精华:0 注册:2011/3/29 17:14:00
目录树节点代码  发帖心情 Post By:2018/4/23 22:28:00 [只看该作者]

Dim Filter As String
If e.node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter ="[产品] = '" & dr("产品") & "'"
        Case 1
            Filter ="[产品] = '" & dr("产品") & "' And [客户] = '" & dr("客户") & "'"
    End Select
End If
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()

上面的是原始代码  
目录树的节点会根据 CheckedComboBox选择列 内容重新生成,
下面的代码貌似有些问题报错数据不存在



Dim Values() As String = e.Form.Controls("CheckedComboBox选择列").Text.Split(",")

Dim strs() As String = e.Node.FullName.Split("\")
Dim dr As DataRow = e.Node.DataRow
Dim flt As String
For i As Integer = 0 To strs.Length - 1 ''间接获取目录树层级(Level)
    For j As Integer = 0 To Values.Length - 1
        If i = j Then ''只加入选定节点及以上的节点
            flt + = Values(j) & "= '" & dr(Values(j)) & "' And "
        End If
    Next
Next
If flt > "" Then
    Tables(Vars("表名")).Filter = flt.SubString(0,flt.Length - 5)
End If

 回到顶部
总数 12 1 2 下一页