この例では、SELECTLISTステートメントを使用してリスト内のアイテムを操作し、UPD_ENTRYコマンドを使用して更新する方法を説明します。リスト・ビュー列には、社員名とその賃金が表示されます。[昇給]プッシュ・ボタンがクリックされるたびに、リスト内の各社員の賃金が10%増加します。
例の動作を見るには、このコードをフォーム・コンポーネントにコピーします。
FUNCTION options(*DIRECT)BEGIN_COM role(*EXTENDS #PRIM_FORM) HEIGHT(334) LEFT(245) TOP(136) WIDTH(623)DEFINE_COM class(#PRIM_LTVW) name(#EMPLIST) DISPLAYPOSITION(1) FULLROWSELECT(True) HEIGHT(285) LEFT(8) PARENT(#COM_OWNER) TABPOSITION(1) TOP(8) WIDTH(505)DEFINE_COM class(#PRIM_LVCL) name(#LVCL_1) DISPLAYPOSITION(1) PARENT(#EMPLIST) SOURCE(#EMPNO) WIDTH(24)DEFINE_COM class(#PRIM_LVCL) name(#LVCL_2) DISPLAYPOSITION(2) PARENT(#EMPLIST) SOURCE(#SURNAME) WIDTH(25)DEFINE_COM class(#PRIM_LVCL) name(#LVCL_3) DISPLAYPOSITION(3) PARENT(#EMPLIST) SOURCE(#GIVENAME) WIDTH(33)DEFINE_COM class(#PRIM_LVCL) name(#LVCL_4) DISPLAYPOSITION(4) PARENT(#EMPLIST) SOURCE(#SALARY) WIDTH(18)DEFINE_COM class(#PRIM_PHBN) name(#PB_RAISE) CAPTION('Give Raise') DISPLAYPOSITION(2) LEFT(528) PARENT(#COM_OWNER) TABPOSITION(2) TOP(8)EVTROUTINE handling(#com_owner.Initialize)SELECT fields(#EMPLIST) from_file(PSLMST)ADD_ENTRY to_list(#EMPLIST)ENDSELECTENDROUTINEEVTROUTINE handling(#PB_RAISE.Click)SELECTLIST named(#EMPLIST)CHANGE field(#SALARY) to('#SALARY * 1.10')UPD_ENTRY in_list(#EMPLIST)ENDSELECTENDROUTINEEND_COM
