現在地: Visual LANSA 開発者ガイド > 2. グラフィカル・ユーザーインターフェース・アプリケーションの作成 > 2.9 リスト、ツリー・ビュー、グリッド、グラフ > 2.9.4.4 必要に応じたツリー・ビューの組み込み
2.9.4.4 必要に応じたツリー・ビューの組み込み

ユーザーがアイテムをダブルクリックしたときにのみツリー・ビューを埋め込むには、操作されるツリー・ビューのレベルを調べ、ツリー・ビューの ItemExpanding イベントでデータを取得する必要があります(ツリー・ビューのプロパティの情報は、次のセクションを参照してください)。この例では、必要に応じてセクションと従業員の情報を取得します。

動的なツリー・ビューを使用する場合は、ツリー・ビューの ManageChildren プロパティを True に設定します。

例の動作を見るには、このコードをフォーム・コンポーネントにコピーします。

FUNCTION options(*DIRECT)

BEGIN_COM role(*EXTENDS #PRIM_FORM) HEIGHT(405) LEFT(129) TOP(131) WIDTH(377)

DEFINE_COM class(#PRIM_TRVW) name(#TRVW_1) DISPLAYPOSITION(1) HEIGHT(345) LEFT(24) PARENT(#COM_OWNER) TABPOSITION(1) TOP(8) WIDTH(321)

DEFINE_COM class(#PRIM_TVCL) name(#TVCL_1) KEYPOSITION(1) LEVEL(1) PARENT(#TRVW_1) SOURCE(#DEPTMENT) VISIBLE(False)

DEFINE_COM class(#PRIM_TVCL) name(#TVCL_3) KEYPOSITION(1) LEVEL(2) PARENT(#TRVW_1) SOURCE(#SECTION) VISIBLE(False)

DEFINE_COM class(#PRIM_TVCL) name(#TVCL_2) DISPLAYPOSITION(1) IMAGE(#VI_DEPTCL) IMAGEEXPANDED(#VI_DEPTOP) LEVEL(1) PARENT(#TRVW_1) SOURCE(#DEPTDESC)

DEFINE_COM class(#PRIM_TVCL) name(#TVCL_4) DISPLAYPOSITION(1) IMAGE(#VI_SECTCL) IMAGEEXPANDED(#VI_SECTOP) LEVEL(2) PARENT(#TRVW_1) SOURCE(#SECDESC)

DEFINE_COM class(#PRIM_TVCL) name(#TVCL_5) KEYPOSITION(1) LEVEL(3) PARENT(#TRVW_1) SOURCE(#EMPNO) VISIBLE(False)

DEFINE_COM class(#PRIM_TVCL) name(#TVCL_6) DISPLAYPOSITION(1) LEVEL(3) PARENT(#TRVW_1) SOURCE(#SURNAME)

EVTROUTINE handling(#TRVW_1.Initialize) options(*NOCLEARMESSAGES *NOCLEARERRORS)

SELECT fields(#DEPTMENT #DEPTDESC) from_file(DEPTAB)

ADD_ENTRY to_list(#TRVW_1)

ENDSELECT

ENDROUTINE

EVTROUTINE handling(#TRVW_1.ItemExpanding)

CHANGE field(#STD_NUM) to('#TRVW_1.CURRENTITEM.LEVEL')

CASE of_field(#STD_NUM)

WHEN value_is('= 1')

SELECT fields(#SECTION #SECDESC) from_file(SECTAB) with_key(#DEPTMENT)

ADD_ENTRY to_list(#TRVW_1)

ENDSELECT

WHEN value_is('= 2')

SELECT fields(#EMPNO #SURNAME) from_file(PSLMST1) with_key(#DEPTMENT #SECTION)

ADD_ENTRY to_list(#TRVW_1)

ENDSELECT

ENDCASE

ENDROUTINE

END_COM