以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 目录树不能全部显示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=80846) |
||||
-- 作者:317617216 -- 发布时间:2016/2/3 18:41:00 -- [求助] 目录树不能全部显示 [求助] 目录树不能全部显示 ![]() ![]() 1.5.9以下的 1.5.10 1.5.11 请教为什么显示不了呢 代码如下: 窗口与控件事件
目录窗口_AfterLoad
\'(打开窗口自动生成,如是按钮Click事件则需点击按钮) \' 点击按钮生成目录树.【递归:通过母序号与序号】 Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") Dim nd As WinForm.TreeNode Dim dt As DataTable = DataTables("q") tr.StopRedraw() tr.Nodes.Clear tr.Nodes.Add("全部") For Each dr As DataRow In dt.datarows If dr.IsNull("母序号") Then nd = tr.Nodes.Add(dr("序号"),dr("序号") & dr("标题")) Functions.Execute("AddChildren",nd,dt) End If Next tr.ResumeRedraw()
目录窗口_Button1_Click
\' 点击按钮生成目录树.【递归:通过母序号与序号】 Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") Dim nd As WinForm.TreeNode Dim dt As DataTable = DataTables("q") tr.StopRedraw() tr.Nodes.Clear tr.Nodes.Add("全部") For Each dr As DataRow In dt.datarows If dr.IsNull("母序号") Then nd = tr.Nodes.Add(dr("序号"),dr("标题")) Functions.Execute("AddChildren",nd,dt) End If Next tr.ResumeRedraw()
目录窗口_TreeView1_NodeMouseDoubleClick
\' 点击 目录 后 生成 目录树表,双击 节点 后 展开 Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") Dim key As String = e.Node.Name Dim ids As String If key = "全部" Then Tables("q").Filter = "" Else For Each nd As WinForm.TreeNode In trv.AllNodes Dim pd As WinForm.TreeNode = nd Do If pd.Name = key Then If ids > "" Then ids= ids & "," End If ids = ids & "\'" & nd.name & "\'" Exit Do Else pd = pd.ParentNode If pd Is Nothing Then Exit Do End If End If Loop Next Tables("q").Filter = "序号 In (" & ids & ")" End If
自定义函数
AddChildren
\'http://www.foxtable.com/help/topics/2502.htm Dim nd As WinForm.TreeNode = args(0) Dim dt As DataTable = args(1) For Each dr As DataRow In dt.Select("","序号") Dim km As String = dr("序号") If km.StartsWith(nd.Name) AndAlso km.Length = nd.Name.Length + 2 Then Dim cd As Winform.TreeNode = nd.Nodes.Add(km,km & " " & dr("标题")) Functions.Execute("AddChildren",cd,dt) End If Next |
||||
-- 作者:大红袍 -- 发布时间:2016/2/3 19:47:00 --
|
||||
-- 作者:317617216 -- 发布时间:2016/2/3 20:35:00 -- 谢谢大红袍大师
|