非階層リストでAjaxを使用
非階層リストを使用する際、リストを部分的に定義して、後で必要な時にツリー・ビューがエントリーを取り出すことが可能です。このテクニックは、特に大きなツリー構造で最初のロードやページのレンダリングが遅くなる場合などに便利です。
このテクニックを使用するには、作業リストに"子持ち"フィールドを追加する必要があります。このフィールド(YかNを含む1バイトのフィールド)は、子がない場合でも、アイテムを展開可能ノードとして表示するようツリー・ビューに伝えます。
ユーザーが子のないノードを展開すると、ツリー・ビューはWebroutineを呼び出してこのツリーに追加する新しいエントリーを含む作業リストの新しいコピーを要求します。この目的で使用するWebroutineは、onexpand_wamname/onexpand_wrnameで定義されます。このWebroutineは、ツリー・ビューが自動的にJSON応答を要求するので、ユーザー・インターフェースは必要ありません。
次の2つのフィールドとリストがWebroutineに送られます。
フィールド |
ツリー・ビューのプロパティ |
説明 |
ID |
展開されたアイテムのID。 |
|
レベル |
展開されたアイテムのレベル。 |
|
先祖 |
展開されたアイテムの先祖を含むリスト。このリストには、ツリー作成時に使用された作業リストのIDフィールドと同じ1つのフィールドが含まれます。 |
上記のプロパティに情報を格納するフィールドを指定できますが、これらのフィールドはonsubmitWebroutine用にWEB_MAPで定義する必要があります。