【发布时间】:2017-05-25 21:57:23
【问题描述】:
我们有一个用 PowerShell 编写的 Windows 表单。该表单显示三个树视图和一个数据网格视图。每个树视图内部都有大约。 100-1500 个节点和一些子节点。 datagridview 包含大约 500 个项目。
要显示的数据存储在 XML 文件中。
<Config>
<treeview1>
<ID ID="1" Data="" />
</treeview1>
<treeview2>
<ID ID="1" Data="" />
</treeview2>
<treeview3>
<ID ID="1" Data="" />
</treeview3>
<datagridview>
ID ID="1" Data="" />
</datagridview>
</Config>
要加载树视图和数据网格视图,我们使用foreach 循环。
foreach ($XmlNode in $Xml.Config.treeview1.ID)
{
if (!($TreeView.Nodes.ContainsKey($XmlNode.Data)))
{
[System.Windows.Forms.TreeNode]$TreeViewNode = $null
$TreeViewNode = New-Object -TypeName System.Windows.Forms.TreeNode
$TreeViewNode.Text = $XmlNode.Data
$TreeViewNode.Name = $XmlNode.Data
$TreeViewNode.Tag = $XmlNode.ID
$TreeViewNode.ImageIndex = 1
$TreeViewNode.SelectedImageIndex = 1
$TreeView.Nodes.Add($TreeViewNode)
}
}
现在我们面临两个问题:
- 表单打开和加载数据很慢。
- 在 datagridview 中滚动速度很慢且滞后。
有什么建议可以加快数据加载和datagridview滚动吗?
【问题讨论】:
标签: xml winforms powershell datagridview treeview