我在向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秒(这对最终用户来说是一个真正的痛苦)。
答案 0 :(得分:1)
在未绑定模式下添加多个节点时,必须使用TreeList.BeginUnboundLoad和TreeList.EndUnboundLoad方法来防止不必要的更新。
来自help-article:
应该使用BeginUnboundLoad和EndUnboundLoad方法 添加,删除和删除时,避免过多的内部数据更新 在未绑定模式下修改节点。在绑定模式下,使用 改为使用LockReloadNodes和UnlockReloadNodes方法。