非階層リストでAjaxを使用

非階層リストを使用する際、リストを部分的に定義して、後で必要な時にツリー・ビューがエントリーを取り出すことが可能です。このテクニックは、特に大きなツリー構造で最初のロードやページのレンダリングが遅くなる場合などに便利です。

このテクニックを使用するには、作業リストに"子持ち"フィールドを追加する必要があります。このフィールド(YかNを含む1バイトのフィールド)は、子がない場合でも、アイテムを展開可能ノードとして表示するようツリー・ビューに伝えます。

ユーザーが子のないノードを展開すると、ツリー・ビューはWebroutineを呼び出してこのツリーに追加する新しいエントリーを含む作業リストの新しいコピーを要求します。この目的で使用するWebroutineは、onexpand_wamname/onexpand_wrnameで定義されます。このWebroutineは、ツリー・ビューが自動的にJSON応答を要求するので、ユーザー・インターフェースは必要ありません。

次の2つのフィールドとリストがWebroutineに送られます。

フィールド

ツリー・ビューのプロパティ

説明

ID

onsubmit_id_field

展開されたアイテムのID。

レベル

onsubmit_level_field

展開されたアイテムのレベル。

先祖

onsubmit_ancestor_list

展開されたアイテムの先祖を含むリスト。このリストには、ツリー作成時に使用された作業リストのIDフィールドと同じ1つのフィールドが含まれます。

 

上記のプロパティに情報を格納するフィールドを指定できますが、これらのフィールドはonsubmitWebroutine用にWEB_MAPで定義する必要があります。