0

我在将节点添加到XtraTreeList.

我使用的方法是TreeList.AppendNode(有关该方法的更多信息here)。

实际结果 :

如果我有一个名为的类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 秒(这对最终用户来说是一个真正的痛苦)。

4

1 回答 1

1

在未绑定模式下添加多个节点时,需要使用TreeList.BeginUnboundLoadTreeList.EndUnboundLoad方法来防止不必要的更新。

来自帮助文章

应使用 BeginUnboundLoad 和 EndUnboundLoad 方法,以避免在未绑定模式下添加、删除和修改节点时过多的内部数据更新。在绑定模式下,请改用 LockReloadNodes 和 UnlockReloadNodes 方法。

于 2013-10-16T08:48:36.527 回答