C# XtraTreeList 的 AppendNode 方法需要太多时间

本文关键字:太多 时间 方法 XtraTreeList AppendNode | 更新日期: 2023-09-27 18:35:28

我在向XtraTreeList添加节点时遇到了很多麻烦。

我使用的方法TreeList.AppendNode(有关该方法的更多信息,请单击此处)。

实际结果 :

如果我有一个名为 MyClass 的类,并且我想将节点添加到XtraTreeList中的现有节点.

如果我做这样的事情:

// tlTest is the XtraTreeList
tlTest.AppendNode(new MyClass(/* Some Arguments */), parentNode);

注释打印在屏幕上。

但是,如果我做这样的事情:

// tlTest is the XtraTreeList
tlTest.AppendNode(new object[] (){/* Some Arguments without cast */}, parentNode);

这似乎工作得很好!

问题:

第二种做事方式的问题在于,添加 200 个子节点需要花费大量时间/资源。我想知道它是否与动态铸造有关......

问题:

有没有更好的方法可以做到这一点?保持代码原样不是一个好主意,因为添加 200 个子节点大约需要 6/7 秒(这对最终用户来说是一个真正的痛苦)。

C# XtraTreeList 的 AppendNode 方法需要太多时间

必须使用 TreeList.BeginUnboundLoad 和 TreeList.EndUnboundLoad 方法,以防止在未绑定模式下添加多个节点时进行不必要的更新。

来自帮助文章:

BeginUnboundLoad 和 EndUnboundLoad 方法应该用于 在添加、删除和 在未绑定模式下修改节点。在绑定模式下,使用 LockReloadNodes和UnlockReloadNodes方法。