[ |../../index.htm#lansa/l4wdev06_0875.htm]
現在地:
2.10.8.1 リスト・ビューの選択と選択の解除
この例では、3つのリスト・ビューを使用します。起動時に、すべての社員が全ての社員と選択されない社員のリスト・ビューに追加されます。社員が全ての社員リストで選択および選択解除されると、選択された社員リストと選択されない社員リストで追加および削除されます。
例の動作を見るには、このコードをフォーム・コンポーネントにコピーします。
FUNCTION options(*DIRECT) BEGIN_COM role(*EXTENDS #PRIM_FORM) HEIGHT(378) LEFT(345) TOP(196) WIDTH(473) DEFINE_COM class(#PRIM_LTVW) name(#ALL_LIST) DISPLAYPOSITION(1) FULLROWSELECT(True) HEIGHT(313) LEFT(8) PARENT(#GPBX_ALL) TABPOSITION(1) TOP(16) WIDTH(129) DEFINE_COM class(#PRIM_LTVW) name(#SEL_LIST) DISPLAYPOSITION(1) FULLROWSELECT(True) HEIGHT(313) LEFT(8) PARENT(#GPBX_SEL) TABPOSITION(1) TOP(16) WIDTH(129) DEFINE_COM class(#PRIM_LTVW) name(#NOT_LIST) DISPLAYPOSITION(1) FULLROWSELECT(True) HEIGHT(313) LEFT(8) PARENT(#GPBX_NOT) TABPOSITION(1) TOP(16) WIDTH(129) DEFINE_COM class(#PRIM_LVCL) name(#LVCL_1) DISPLAYPOSITION(1) PARENT(#ALL_LIST) SORTPOSITION(1) SOURCE(#EMPNO) WIDTH(54) WIDTHTYPE(Remainder) DEFINE_COM class(#PRIM_LVCL) name(#LVCL_2) DISPLAYPOSITION(1) PARENT(#SEL_LIST) SORTPOSITION(1) SOURCE(#EMPNO) WIDTH(54) WIDTHTYPE(Remainder) DEFINE_COM class(#PRIM_LVCL) name(#LVCL_3) DISPLAYPOSITION(1) PARENT(#NOT_LIST) SORTPOSITION(1) SOURCE(#EMPNO) WIDTH(54) WIDTHTYPE(Remainder) DEFINE_COM class(#PRIM_GPBX) name(#GPBX_ALL) CAPTION('All Employees') DISPLAYPOSITION(3) HEIGHT(337) LEFT(8) PARENT(#COM_OWNER) TABPOSITION(3) TABSTOP(False) TOP(8) WIDTH(145) DEFINE_COM class(#PRIM_GPBX) name(#GPBX_SEL) CAPTION('Selected Employees') DISPLAYPOSITION(2) HEIGHT(338) LEFT(156) PARENT(#COM_OWNER) TABPOSITION(2) TABSTOP(False) TOP(6) WIDTH(145) DEFINE_COM class(#PRIM_GPBX) name(#GPBX_NOT) CAPTION('NOT Selected Employees') DISPLAYPOSITION(1) HEIGHT(339) LEFT(304) PARENT(#COM_OWNER) TABPOSITION(1) TABSTOP(False) TOP(5) WIDTH(145) DEFINE field(#SEL_EMPNO) reffld(#EMPNO) EVTROUTINE handling(#com_owner.Initialize) * Add all employees to the all and not selected lists SELECT fields(#ALL_LIST) from_file(PSLMST) ADD_ENTRY to_list(#ALL_LIST) ADD_ENTRY to_list(#NOT_LIST) ENDSELECT ENDROUTINE EVTROUTINE handling(#ALL_List.ItemGotSelection) * Save employee number value CHANGE field(#SEL_EMPNO) to(#EMPNO) * Add to Selected list ADD_ENTRY to_list(#SEL_LIST) * Remove from the not selected list SELECTLIST named(#NOT_LIST) IF cond('#EMPNO = #SEL_EMPNO') DLT_ENTRY from_list(#NOT_LIST) LEAVE ENDIF ENDSELECT ENDROUTINE EVTROUTINE handling(#ALL_List.ItemLostSelection) * Save employee number value CHANGE field(#SEL_EMPNO) to(#EMPNO) * Add to not Selected list ADD_ENTRY to_list(#NOT_LIST) * Remove from the selected list SELECTLIST named(#SEL_LIST) IF cond('#EMPNO = #SEL_EMPNO') DLT_ENTRY from_list(#SEL_LIST) LEAVE ENDIF ENDSELECT ENDROUTINE END_COM
[ |../../index.htm#lansa/l4wdev06_0875.htm]