非階層リスト
非階層リストでは、各エントリーは親IDを指定することで、ツリー構造内の位置をツリー・ビューに知らせます。非階層リストは、最低限次のデータを含むカラムを含んでいなければいけません。
ツリー・ビューは提供された順にリストのエントリーを処理し、存在しない親にはエントリーを追加することができません。子の前に親のアイテムが来るようにリストがソートされていること、そして同じレベルのアイテムが表示順になっていることを、自身で確認する必要があります。これを行う1つの方法としては、深さを示すカラムを追加し、この深さでソートした後に順番にソートします。
例えば、次のような作業リストがあったとします。
ID
|
親ID
|
キャプション
|
1
|
|
Node A
|
2
|
|
Node B
|
3
|
1
|
Leaf A1
|
4
|
1
|
Leaf A2
|
5
|
2
|
Node B1
|
6
|
2
|
Leaf B2
|
7
|
5
|
Leaf B1A
|
8
|
5
|
Leaf B1B
|
|
これは次のようなツリーになります。
この例ではIDと親IDのカラムに数字が含まれていますが、これらはテキストか文字列フィールドでなければいけないことに注意してください。
非階層リストに更に多くのカラムを追加して、動作や該当するエントリーの外観をカスタマイズすることもできます。
フィールド
|
ツリー・ビューのプロパティ
|
説明
|
イメージ
|
list_image_field
|
イメージ・ディレクトリに関連付けられた、エントリーのアイコンに使用するイメージのパスを指定します。
|
オープン・イメージ
|
list_open_image_field
|
イメージ・ディレクトリに関連付けられた、エントリーが展開された時のエントリーのアイコンに使用するイメージのパスを指定します。
|
選択
|
list_is_selected_field
|
エントリーの最初の状態が選択された状態であることを示します。このフィールドは文字列フィールドで、何も含まれない(選択されない)か次の2つのいずれかの値が含まれます。'true'または'freeze'.。両方の値はエントリーが選択されることを示しますが、違いはツリー・ビューの動作です。値が'true' の場合、ツリー・ビューはユーザーがそのエントリーをクリックした時に行われる構成通りのアクションを取ります。つまり、ユーザーがエントリーを選択した時と同じ動作をシミュレートします。値が'freeze'の場合は、ツリー・ビューでアイテムは選択された状態になりますが、その他は何もアクションが取られません。
|
展開
|
list_is_expanded_field
|
エントリーの最初の状態が展開された状態であることを示します。エントリーに子がない場合は、無視されます。このフィールドは、数字でも文字列でも構いません。'true'、'y'または 1の値はtrueとして扱われ、その他全ての値はfalseとして扱われます。
|
選択時WAM 選択時Webroutine
|
list_onselect_wamname_field
list_onselect_wrname_field
|
アイテムがクリックされた時に呼び出されるWAM/Webroutineの名前。これらのフィールドに値が何も提供されない場合、onselect_wamnameやonselect_wrnameに指定された省略値が使用されます。
|
|