以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQL语句设计加载树  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116411)

--  作者:weigqing9
--  发布时间:2018/3/24 8:31:00
--  [求助]SQL语句设计加载树
求助老师,下面的目录树代码出错,窗口生成时有数据,但点击节点后窗口表变为空表,请求帮助。

企业定额_AfterLoad 代码:

If YYN_Name = "DEB1" Then  YYN_Name为变量名 从两张一样表结构加载

    Tables("企业定额_Table1").Fill("Select * F rom {DEB1}","ysprojcet",False) 动态绑定表

    Dim cmd As New SQLCommand

    Dim dt As DataTable

    cmd.C

    cmd.CommandText = "SELECT DISTINCT YJFB,RJFB Fro m {DEB1}同时请问表名能否用变量名替代

    dt = cmd.ExecuteReader()

    Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

    trv.BuildTree(dt,"YJFB|RJFB")

    trv.Nodes.Insert("加载所有数据",0)

ElseIf YYN_Name = "DEB2" Then

    Tables("企业定额_Table1").Fill("Select * F rom {DEB2}","ysprojcet",False)

    Dim cmd As New SQLCommand

    Dim dt As DataTable

    cmd.C

    cmd.CommandText = "SELECT DISTINCT YJFB,RJFB Fro m {DEB2}"

    dt = cmd.ExecuteReader()

    Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

    trv.BuildTree(dt,"YJFB|RJFB")

    trv.Nodes.Insert("加载所有数据",0)

End If


企业定额_TreeView1_NodeMouseDoubleClick

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 ="[YJFB] = \'" & dr("YJFB") & "\'"

    Case 1

        Filter ="[YJFB] = \'" & dr("YJFB") & "\' And  [RJFB] = \'" & dr("RJFB") & "\'"

End Select

End if

Tables("企业定额_Table1").DataTable.LoadFilter = Filte    这里出错了,点击节点后窗口表变为空表,没有加载数据

Tables("企业定额_Table1").DataTable.Load() 



--  作者:有点蓝
--  发布时间:2018/3/24 8:50:00
--  
msgbox(Filter) 这里显示了什么条件,把这个条件放到数据库查询有没有数据?
--  作者:weigqing9
--  发布时间:2018/3/24 9:10:00
--  
感谢老师,貌视弹出正常呀,窗口表是动态绑定是否有关?

Tables("企业定额_Table1").Fill("Select * F rom {DEB1}","ysprojcet",False) 生成的是SQLTable
msgbox(filter)
第一层节点弹出窗口为:
---------------------------
企业定额.Form.cda61039
---------------------------
[YJFB] = \'土建部分\'
---------------------------
确定  
---------------------------
第一层节点弹出窗口为:
---------------------------
企业定额.Form.cda61039
---------------------------
[YJFB] = \'土建部分\' And  [RJFB] = \'门窗\'
---------------------------
确定  
---------------------------


--  作者:weigqing9
--  发布时间:2018/3/24 9:21:00
--  
感谢你蓝老师,同样的问题两次提问是群晖服务器 通过容器运行microsoft-mssql-server-linux 版的,该版本不支持中文字符,谢谢!