我在保存按钮中写了以下命令;可以实现保存数据后、根据内容变化,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编辑过]