1
我們有一個用PowerShell編寫的Windows窗體。該表單顯示三個treeview和一個datagridview。每個樹視圖內都是ca. 100-1500個節點和一些孩子節點。 datagridview包含約500個項目。如何優化treeview和datagridview?
要顯示的數據存儲在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>
要加載的樹視圖,並在DataGridView我們使用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滾動?