9


2

GWT 2.1ツリーまたはCellTree?

私はGWT Treeウィジェットの選択に本当に苦労しています。これは長年にわたってGWTの一部でした。または、GWT 2.1で導入された新しいCellTree。

ユーザーに提示したいツリーは特に大きくありませんが、応答性が非常に心配です。

ツリーのノードのデータは編集可能です。 ノードをクリックすると、ユーザーはノードを編集モードにします。 より単純なノードを編集するには、1つのTextBoxまたはTextAreaのみが必要です。しかし、他のウィジェットにはいくつかのウィジェットが関係し、その上でCSSを介してスタイル設定を制御する必要があります。

CellTreeアプローチに魅力を感じています。これは、優れた柔軟性と速度を提供するようだからです。ただし、CellTree編集のサンプルコードは、文字列、日付、整数などの非常に単純なデータ型のみを扱います。 より複雑なノード編集のニーズがある場合、CellTreeが適切かどうかはわかりません。

どう思いますか? CellTreeは最良のアプローチですか? CellTreeは一般的にTreeを置き換えますか? それらを選択する際にどのようなヒューリスティックを適用できますか?

2 Answer


2


多数のウィジェットで構成されるセルを含む、いくつかのカスタム入力セルでCellTableを使用しています。 それは素晴らしい作品です!

複雑な操作を実行できるカスタムセルを実装する方法を理解するのに数時間かかりました-セルの単一のインスタンスがCellTreeの周りを飛び回り、多くのインスタンスのふりをするため、データを取得する方法を理解する必要があります更新およびレンダリングされたとき。 DatePickerCellのソースから多くのことを学びました。

CellTreeについて話すことはできませんが、CellTableは非常に柔軟で、プログラムが簡単で、何百ものWidgetインスタンスを節約できます。


1


CellTreeの使用には問題があります。 CellTreeに格納されている実装を表示するための適切なアクセス権がないためです。 問題が発生する(例: 私にとって:D)親セル全体をクリックして、子を持つノードを開くためのカスタムハンドラーを作成します。 もちろん、独自のレンダラーを作成する必要があるAbstractCellでカスタムセルを作成できます。

このウィジェットは強化され、より多くのオブジェクトがユーザーに見えるようにする必要があると思います。

CSSのカスタマイズは簡単です。 やらなければならないことは、CellTree.resourceを拡張し、celltree.cssクラス名に基づいて独自のcssを挿入することだけです。