以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]复选框模拟按Ctrl键多选目录树  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114422)

--  作者:2
--  发布时间:2018/2/5 23:38:00
--  [求助]复选框模拟按Ctrl键多选目录树
有个加油明细表,用统计月和牌照号作目录树,三级和二级混选时出错,把不该选的也选出来了,
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180205233035.png
图片点击可在新窗口打开查看


代码怎么调整?求大师帮助!
Dim Fl As String = ""
Dim qts As String
Dim dt As DataTable=DataTables(e.Form.TableName)
If dt.SourceType = 1 Then \'Access数据源
    qts="#"
ElseIf dt.SourceType = 2 Then \'SQL Server数据源
    qts="\'"
End If
If e.node.Name <> "显示所有行" Then \'要用Name属性,不能用Text属性
    Dim d1 As Date
    Dim d2 As Date
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim xmid As String = e.Node.DataRow("牌照号")
    Select Case e.Node.Level
        Case 0
            d1 = New Date(Year,1,1) \'取得该年的第一天
            d2 = new Date(Year,12,31) \'取得该年的最后一天
            Fl = "统计月 >= " & qts & d1 & qts & " And 统计月 <= " & qts & d2 & qts
        Case 1
            d1 = New Date(Year, Month, 1) \'取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天
            Fl = "统计月 >= " & qts & d1 &  qts & " And 统计月 <= " & qts & d2 & qts
        Case 2
            d1 = New Date(Year, Month, 1) \'取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天
            Fl = "统计月 >= " & qts & d1 & qts & " And 统计月 <= " & qts & d2 & qts & " And 牌照号 = \'" & xmid & "\'"
    End Select
End If


With DataTables(e.Form.TableName)
    .LoadFilter = fl \'设置加载条件
    .LoadOver="牌照号" \'分页依据,不指定有可能出错
    .LoadPage = 0 \'加载第一页
    .LoadTop = 30 \'每页5行
    .Load()
    e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With
[此贴子已经被作者于2018/2/5 23:43:37编辑过]

--  作者:有点甜
--  发布时间:2018/2/6 8:55:00
--  

首先,多选,你这样处理就错了吧?要循环多个节点处理的。

 

看看 http://www.foxtable.com/webhelp/scr/2503.htm