0

にノードを追加する際に多くの問題が発生していXtraTreeListます。

私が使用する方法はTreeList.AppendNode(方法の詳細はこちら)です。

実際の結果:

と呼ばれるクラスがMyClassあり、ノードを my の既存のノードに追加したい場合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);

これは完全にうまくいくようです!

問題 :

2 番目の方法の問題点は、200 個の子ノードを追加するのに非常に多くの時間/リソースがかかることです。そして、動的キャストと関係があるのだろうか...

質問 :

これを行うより良い方法はありますか?200 個の子ノードを追加するのに約 6/7 秒かかるため、コードをそのままにしておくのは得策ではありません (これはエンド ユーザーにとって本当に苦痛です)。

4

1 に答える 1

1

非バインド モードで複数のノードを追加する場合は、TreeList.BeginUnboundLoad メソッドと TreeList.EndUnboundLoad メソッドを使用して、不要な更新を防ぐ必要あります

ヘルプ記事から:

非バインド モードでノードを追加、削除、および変更する場合は、BeginUnboundLoad および EndUnboundLoad メソッドを使用して、過剰な内部データ更新を回避する必要があります。バインド モードでは、代わりに LockReloadNodes および UnlockReloadNodes メソッドを使用します。

于 2013-10-16T08:48:36.527 に答える