Foxtable(狐表)用户栏目专家坐堂 → [求助]两表两列取值目录树


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

主题:[求助]两表两列取值目录树

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/18 12:32:00 [显示全部帖子]

prepareEdit事件

 

static flag As Boolean = False

If e.Col.name = "地区" Then
    If e.IsFocusCell And flag = False Then
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("表B") '指定目录树表
        tb.TreeCols = "地区" '指定用于生成目录树的列
        tb.ReceiveCols = "地区" '指定数据接收列
       
        Dim fdr As DataRow = DataTables("表B").find("国家='" & e.Row("国家") & "'")
        If fdr IsNot Nothing Then
            Dim dq As Integer = e.Table.DataTable.Compute("max(地区)", "国家='" & e.Row("国家") & "' and _Identify <> " & e.Row("_Identify"))
            tb.TreeFilter = "国家='" & e.Row("国家") & "' and 地区 > " & dq
        Else
            Dim dq As Integer = e.Table.DataTable.Compute("max(地区)", "国家='其他' and _Identify <> " & e.Row("_Identify"))
            tb.TreeFilter = "国家='其他' and 地区 > " & dq
        End If
        e.Col.DropTree = tb.Build()
        flag = True
    End If
Else
    flag = False
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/18 15:00:00 [显示全部帖子]

1、

 

static flag As Boolean = False
If e.Col.name = "地区" Then
    If e.IsFocusCell And flag = False Then
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("表B") '指定目录树表
        tb.TreeCols = "地区" '指定用于生成目录树的列
        tb.ReceiveCols = "地区" '指定数据接收列
       
        Dim fdr As DataRow = DataTables("表B").find("国家='" & e.Row("国家") & "'")
        If fdr IsNot Nothing Then
            Dim dq As Integer = e.Table.DataTable.Compute("max(地区)", "国家='" & e.Row("国家") & "' and _Identify <> " & e.Row("_Identify"))
            tb.TreeFilter = "国家='" & e.Row("国家") & "' and 地区 > " & dq
        Else
            Dim dq As Integer = e.Table.DataTable.Compute("max(地区)", "国家='其他' and _Identify <> " & e.Row("_Identify"))
            tb.TreeFilter = "国家='其他' and 地区 > " & dq
        End If
        e.Col.DropTree = tb.Build()
        flag = True
    Else
        flag = False
    End If
Else
    flag = False
End If

 

2、窗口的下拉目录树,参考

 

http://www.foxtable.com/webhelp/scr/2350.htm

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/23 19:13:00 [显示全部帖子]

static flag As Boolean = False
If e.Col.name = "工程状态" Then
    If e.IsFocusCell And flag = False Then
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("下拉目录树") '指定目录树表
        tb.TreeCols = "县市" '指定用于生成目录树的列
        tb.ReceiveCols = "工程状态" '指定数据接收列
        Dim fdr As DataRow = DataTables("下拉目录树").find("省市='" & e.Row("设计任务要求_设计类别") & "'")
        If fdr IsNot Nothing Then
            Dim dq As DataRow = e.Table.DataTable.find("设计任务要求_设计类别='" & e.Row("设计任务要求_设计类别") & "' and _Identify <> " & e.Row("_Identify"), "_Identify desc")
            If dq IsNot Nothing Then
                Dim fdr1 As DataRow = DataTables("下拉目录树").find("省市='" & e.Row("设计任务要求_设计类别") & "' and 县市 = '" & dq("工程状态") & "'")
                tb.TreeFilter = "省市='" & e.Row("设计任务要求_设计类别") & "' and _Identify > " & fdr1("_Identify")
            Else
                tb.TreeFilter = "省市='" & e.Row("设计任务要求_设计类别") & "'"
            End If
        Else
            tb.TreeFilter = "省市='其他'"
        End If
        e.Col.DropTree = tb.Build()
        flag = True
    Else
        flag = False
    End If
Else
    flag = False
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/24 10:44:00 [显示全部帖子]

dropDownOpening 事件

 

Dim erow As Row = Tables("室内设计项目").Current
Dim filter As String = ""
Dim fdr As DataRow = DataTables("下拉目录树").find("省市='" & eRow("设计任务要求_设计类别") & "'")
If fdr IsNot Nothing Then
    Dim dq As DataRow = erow.Table.DataTable.find("设计任务要求_设计类别='" & eRow("设计任务要求_设计类别") & "' and _Identify <> " & eRow("_Identify"), "_Identify desc")
    If dq IsNot Nothing Then
        Dim fdr1 As DataRow = DataTables("下拉目录树").find("省市='" & eRow("设计任务要求_设计类别") & "' and 县市 = '" & dq("工程状态") & "'")
        Filter = "省市='" & eRow("设计任务要求_设计类别") & "' and _Identify > " & fdr1("_Identify")
    Else
        Filter = "省市='" & eRow("设计任务要求_设计类别") & "'"
    End If
Else
    Filter = "省市='其他'"
End If
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("下拉目录树","省市|县市", filter)


 回到顶部