以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] TreeView 控件问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97436)

--  作者:wumingrong1
--  发布时间:2017/3/12 16:19:00
--  [求助] TreeView 控件问题

我在保存按钮中写了以下命令;可以实现保存数据后、根据内容变化,TreeView中的分类也同时实现变化。

 

但是问题是 TreeView 会自动折叠起来,我要怎么做才能实现TreeView 不会进行折叠呢?

 

Dim Result As DialogResult
Result = MessageBox.Show( "确定保存修改:请按  [是]" & vbcrlf & "放弃保存修改:请按  [否]", "非常关键提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
If Result = DialogResult.Yes Then
    DataTables("装机工单清单表").Save()
MessageBox.show("完成【装机工单清单表】的 数据保存 工作!!!", "非常关键提醒")
Else   
End If


Dim dt As DataTable = DataTables("装机工单清单表")
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView2")
trv.BuildTree(dt, "全部数据|区域|工单当前环节|工单时长|网格名称|装维人员姓名")
\'trv1.BuildTree(dt1, "分公司类别|分公司","","编号")
\'trv.Nodes.Insert("宽带割接回访表",0)
trv.StopRedraw \'停止绘制目录树

For Each nd As WinForm.TreeNode In trv.AllNodes \'遍历所有节点
   
    If nd.Level = 0 Then \'如果是二级节点
        nd.Text = "全部数据"& "【"& dt.Compute("Count(区域)", " 区域 is not null ") & "】"
    End If
    If nd.Level = 1 Then \'如果是二级节点
        nd.Text = nd.Text & "【"& dt.Compute("Count(区域)", " 区域 =  \'" & nd.DataRow("区域") & "\'  ") & "】"
    End If
    If nd.Level = 2 Then \'如果是二级节点
        nd.Text = nd.Text & "【"& dt.Compute("Count(区域)", " 区域 =  \'" & nd.DataRow("区域") & "\' and 工单当前环节 =  \'" & nd.DataRow("工单当前环节") & "\'   ") & "】"
    End If
    If nd.Level = 3 Then \'如果是二级节点
        nd.Text = nd.Text & "【"& dt.Compute("Count(区域)", " 区域 =  \'" & nd.DataRow("区域") & "\' and 工单当前环节 =  \'" & nd.DataRow("工单当前环节") & "\' and 工单时长 =  \'" & nd.DataRow("工单时长") & "\'    ") & "】"
    End If
    If nd.Level = 4 Then \'如果是二级节点
        nd.Text = nd.Text & "【"& dt.Compute("Count(区域)", " 区域 =  \'" & nd.DataRow("区域") & "\' and 工单当前环节 =  \'" & nd.DataRow("工单当前环节") & "\' and 网格名称 =  \'" & nd.DataRow("网格名称") & "\'   and 工单时长 =  \'" & nd.DataRow("工单时长") & "\'   ") & "】"
    End If
    If nd.Level = 5 Then \'如果是二级节点
        nd.Text = nd.Text & "【"& dt.Compute("Count(工单时长)", " 区域 =  \'" & nd.DataRow("区域") & "\' and 工单当前环节 =  \'" & nd.DataRow("工单当前环节") & "\' and 网格名称 =  \'" & nd.DataRow("网格名称") & "\'  and 工单时长 =  \'" & nd.DataRow("工单时长") & "\'  and 装维人员姓名 =  \'" & nd.DataRow("装维人员姓名") & "\'  ") & "】"
    End If
   \' If nd.Level = 5 Then \'如果是二级节点
    \'    nd.Text = nd.Text
    \'End If
   
Next
trv.ResumeRedraw \'恢复绘制目录树
Tables("装机工单清单表").Filter = Tables("装机工单清单表").Filter

[此贴子已经被作者于2017/3/12 16:19:46编辑过]

--  作者:有点色
--  发布时间:2017/3/12 19:40:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/0910.htm

 

http://www.foxtable.com/webhelp/scr/0916.htm