0

私はGWTを初めて使用し、子ノードが動的に成長するツリーの作成に問題があります。ページが読み込まれると、ツリーは次のようになります。

ROOT_Node
    |
    |_Child 1
    |
    |_Child 2

ユーザーが子1または子2をクリックすると、次のように展開されます。

ROOT_Node
    |
    |_Child 1
    |   |
    |   |_Child 1_1
    |   |_Child 1_2
    |
    |_Child 2

ユーザーが子1_1をクリックした場合、子1_1の子ノードがある場合は、再び展開されます。そして、すべてのノードが動的に成長します。GWT TreeCellでいくつかの基本的なサンプルを実行しましたが、動的に成長しないことを理解しました。したがって、ユーザーが子ノードをクリックするたびに、CellTreeを削除し、新しいCellTreeを追加します。これは残念です。少なくとも、任意の数の子ノードとその子ノードを処理できるコードを記述できるはずです。

私は公式のGWTチュートリアルを含むいくつかのGWTチュートリアルを経験しました。しかし、この種の問題に関連する例は見つかりませんでした。チュートリアルには「if(value instanceof SomeClass)then do this」のみが含まれ、ある種の選択ハンドラーなどを追加します。このアプローチを使用する場合は、if-then-elseブロックをたくさん作成する必要があります。

誰かが私がこの問題を解決するのを手伝ってくれませんか。または、CellTreeを使用せずにツリーを表示する簡単な方法はありますか?リストは役に立ちますか?

4

1 に答える 1

0

CellTree動的データをサポートします。

遅延読み込みをサポートする場合、または階層が事前にわからない場合は、 AsyncDataProviderを使用できます。また、ここ
で見つけることができる動的データの使用を示すショーケースの例があります。

ツリー レベルごと に異なるものを使用する場合は、すべてif (value instanceof SomeClass)を使用する必要があります (ショーケースの例を参照)。Cells

Child1Child1_2が同じタイプであり、同じ方法でレンダリングされることになっている場合は、別のアプローチを使用できます。オブジェクトが特定のクラスであるかどうかを確認する代わりに、オブジェクトがツリーのどのレベルに属しているか、またはオブジェクトが参照を介してリンクされているかどうか (つまり、子オブジェクトがその親への参照を持っているか) を示すオブジェクトのフィールドを確認できます。この情報を利用して、TreeViewModel

于 2013-02-16T11:04:49.683 に答える