以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教目录树 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79255) |
-- 作者:hbhb -- 发布时间:2015/12/27 21:16:00 -- 请教目录树 大师:为何下面的代码不能保证目录树第一节点可见? tv.Nodes.Insert("全部",0) tv.CollapseAll tv.SelectedNode = tv.Nodes(0) tv.Select |
-- 作者:大红袍 -- 发布时间:2015/12/27 21:32:00 -- 加一句
tv.basecontrol.nodes(0).EnsureVisible
|
-- 作者:hbhb -- 发布时间:2015/12/27 21:50:00 -- 显示不是notes不是成员? |
-- 作者:大红袍 -- 发布时间:2015/12/27 21:51:00 -- Dim btv = tv.basecontrol btv.nodes(0).EnsureVisible |
-- 作者:hbhb -- 发布时间:2015/12/27 21:56:00 -- 还是无效? |
-- 作者:大红袍 -- 发布时间:2015/12/27 21:56:00 -- 上传项目。 |
-- 作者:hbhb -- 发布时间:2015/12/27 22:00:00 -- Dim tv As WinForm.TreeView = Args(0) \'---目录树 Dim t As Table = Args(1) \'--窗口中的表 Dim t1 As String = args(2) \'--筛选准则-- tv.StopRedraw Dim cmd As New SQLCommand cmd.CommandText = "Select * Fr om {" & t.DataTable.Name & "} Where (km2 = \'" & t1 & "\' and km7 Is Not Null) Order By km7" Dim dt As DataTable = cmd.ExecuteReader Dim lst As New List(Of Integer) For Each dr As DataRow In dt.DataRows If lst.Contains(dr("km7").Length) = False Then lst.Add(dr("km7").Length) End If Next lst.Sort \'------科目代码长度集合 tv.Nodes.Clear For Each dr As DataRow In dt.DataRows \'----遍列表生成目录树---- If tv.Nodes.Contains(dr("km7")) = False Then If dr.IsNull("km3") = False Then If tv.Nodes.Contains(dr("km3")) = False Then tv.nodes.Add(dr("km3")) tv.nodes(dr("km3")).Nodes.Add(dr("km7"),dr("km4") & "-" & dr("km7")) \'tv.nodes(dr("km3")).nodes(dr("km7")).Nodes.Add(dr("km7")) Else tv.nodes(dr("km3")).Nodes.Add(dr("km7"),dr("km4") & "-" & dr("km7")) \'tv.nodes(dr("km3")).nodes(dr("km7")).Nodes.Add(dr("km7")) End If Else tv.Nodes.Add(dr("km7"),dr("km4") & "-" & dr("km7")) \'tv. nodes(dr("km7")).Nodes.Add(dr("km7")) End If End If Next For Each nd As WinForm.TreeNode In tv.AllNodes For i As Integer = 1 To lst.Count - 1 If nd.Name.Length = lst(i) Then For j As Integer = 0 To i - 1 nd.MoveRight Next End If Next Next tv.Nodes.Insert("全部",0) Dim btv = tv.basecontrol btv.nodes(0).EnsureVisible tv.SelectedNode = tv.Nodes(0) tv.Select tv.CollapseAll tv.ResumeRedraw
|
-- 作者:大红袍 -- 发布时间:2015/12/27 22:01:00 -- 上传项目 |
-- 作者:大红袍 -- 发布时间:2015/12/27 22:03:00 -- 汗,代码写到最后啊。 |
-- 作者:hbhb -- 发布时间:2015/12/27 22:05:00 -- 谢谢!这句代码前后有关系? |