如何使用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#怎么用comboBox绑定treeview控件

C#DEVExpress 控件有没有类似与Winform的ListView的?

Devexpress 哪个控件可以实现下拉树形

如何安装devexpress vcl 2014.1.2

如何实现C#winform的多语言(devexpress控件)

DevExpress控件在VS2008上如何使用?为啥我建立了MFC的对话框程序,那些DevExpress控件不能使用?是灰色