如何使用devexpress加速treeview appendnode
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用devexpress加速treeview appendnode相关的知识,希望对你有一定的参考价值。
我的linux文件系统管理程序。
档案数:170,000
/*filelist load*/
treelist.beginUpdate();
treelist.beginUnboundLoad();
foreach(datarow dr_file in dt_filesystem)
{
treelist.AppendNode(new object[]{ /*file info*/ , parentNode}
}
treelist.endUnboudLoad();
treelist.endUpdate();
treenode AppendNode这么慢。如何快速treeview appendNode?
filecount 1000:2sec
但文件数量为170,000:10小时。
答案
要一次加载所有数据并改进TreeList初始化,请将所有对象放在一个列表中,并将TreeList绑定到此列表。例如:
var dataSource = new BindingList<TreeListItem>();
for (int i = 0; i < 170000; i++)
{
dataSource.Add(new TreeListItem() { ID = i, ParentID = i % 3 });
}
treeList1.DataSource = dataSource;
public class TreeListItem
{
public int ID { get; set; }
public int ParentID { get; set; }
public string SomeProperty { get; set; }
}
或者,您可以使用Virtual Mode (Dynamic Data Loading)按需加载所需的数据。
以上是关于如何使用devexpress加速treeview appendnode的主要内容,如果未能解决你的问题,请参考以下文章
C#DEVExpress 控件有没有类似与Winform的ListView的?
如何实现C#winform的多语言(devexpress控件)
DevExpress控件在VS2008上如何使用?为啥我建立了MFC的对话框程序,那些DevExpress控件不能使用?是灰色