以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] TreeView目录树直接用SQL数据表? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125955) |
||||
-- 作者:2900819580 -- 发布时间:2018/10/10 14:38:00 -- [求助] TreeView目录树直接用SQL数据表? 老师,直接用SQL出来的数据会死机,帮忙看一下代码有什么问题! Dim cmd As new SQLCommand Dim Sqldt As DataTable cmd.C cmd.CommandText = "Sele ct b.FNumber As 代码,b.FName As 名称,b.Fmodel as 规格型号 from AIS20170303202558.dbo.t_ICItemCore As b " Sqldt = cmd.ExecuteReader Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.GenerateTree(Sqldt,"代码","名称",".") [此贴子已经被作者于2018/10/10 14:38:21编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/10/10 15:17:00 -- 不是死机吧。是不是你获取的数据量太大?执行下面的代码,看你表格有多少行。
msgbox(sqldt.datarows.count) [此贴子已经被作者于2018/10/10 15:17:34编辑过]
|
||||
-- 作者:2900819580 -- 发布时间:2018/10/11 9:15:00 -- 以下是引用有点甜在2018/10/10 15:17:00的发言:
不是死机吧。是不是你获取的数据量太大?执行下面的代码,看你表格有多少行。
msgbox(sqldt.datarows.count) 老师,有2万多行,有没有快速的加载方法 [此贴子已经被作者于2018/10/10 15:17:34编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/10/11 9:22:00 -- 每次只加载一层或两层的目录树,不全部生成
http://www.foxtable.com/webhelp/scr/2502.htm
类似 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=117734&skin=0
不会做,就发实例上来测试 |
||||
-- 作者:2900819580 -- 发布时间:2018/10/11 11:24:00 --
窗口2,图片是我想要的效果,辛苦老师了。。。。
[此贴子已经被作者于2018/10/11 11:24:42编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/10/11 11:56:00 --
|
||||
-- 作者:2900819580 -- 发布时间:2018/10/11 13:38:00 -- 老师,你的版本太高了,我打不开,可以把代码复制出来一下吗/ |
||||
-- 作者:有点甜 -- 发布时间:2018/10/11 14:26:00 -- 窗口2_Button2_Click Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
窗口2_TreeView1_BeforeExpandNode Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") |
||||
-- 作者:2900819580 -- 发布时间:2018/10/12 13:45:00 -- 老师,那些没有下阶的,不想在目录树上显示出来,我加了红色的代码,但数据过大,还是会出现假死。 Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") Dim dt As DataTable = DataTables("表A") Dim fi As String = "代码 like \'" & e.node.name & ".%\'" \'e.node.nodes.Clear Dim drs As List(of DataRow) = dt.Select(fi) For Each dr As DataRow In drs Dim drs1 As List(of DataRow) = dt.Select("代码 like \'" & dr("代码") & ".%\'") If drs1.Count > 0 Then If dr("代码").split(".").length = e.node.name.split(".").length + 1 Then Dim nd = e.node.Nodes.Add(dr("代码"),dr("代码") & "(" & dr("名称") & ")") For Each cdr As DataRow In dt.Select("代码 like \'" & dr("代码") & ".%\'") If cdr("代码").split(".").length = dr("代码").split(".").length+1 Then nd.Nodes.Add(cdr("代码"),cdr("代码") & "(" & cdr("名称") & ")") End If Next End If End If Next
|
||||
-- 作者:有点甜 -- 发布时间:2018/10/12 14:55:00 -- Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
----------------------
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") |