SECTION(Alpha 2)
フィールドをグリッド内に再利用可能パーツとして表示します。
リスト内のフィールドを、再利用可能パーツとして編集できます。まず、再利用可能パーツを作成します。動作させるためには、省略値プロパティを設定しておく必要があります。
作成した再利用パーツはガイドラインに従っていなければなりません。以下のようにプロパティを設定し、これを再利用可能パーツの省略時プロパティとしてください(例:Defaultpty(Section))。
Define_Pty Name(Section) Get(Get_Section) Set(Set_Section)
このプロパティには、グリッド内のセルを選択した時点で、フィールド値が設定されます。これを利用すると、実際にフォームを表示する前に、正しいセクションが選択されているかどうか確認することができます。
正しければ画面に表示が現れ、ユーザーが新しいセクションを追加できるようになります。セルに与える新しい値が必要な場合は、プロパティ値を取得するためにあらかじめ組み込まれている、Getルーチンを使って取得します。
グリッドをコミットする際は、同じGetルーチンを呼び出して再利用可能パーツの値を取得し、内容を更新します。
Function Options(*DIRECT)Begin_Com Role(*EXTENDS #PRIM_PANL) Defaultpty(Section) Displayposition(1) Height(68) Layoutmanager(#ATLM_1) Left(0) Tabposition(1) Top(0) Width(224) * Reusable consists of a combo box with a client layout item attachmentDefine_Com Class(#PRIM_CMBX) Name(#SECT_CBX) Displayposition(1) Fixedheight(False) Height(68) Left(0) Parent(#COM_OWNER) Tabposition(1) Top(0) Width(224)Define_Com Class(#PRIM_CBCL) Name(#CBCL_1) Displayposition(1) Parent(#SECT_CBX) Source(#SECTION) Width(20)Define_Com Class(#PRIM_ATLM) Name(#ATLM_1)Define_Com Class(#PRIM_ATLI) Name(#ATLI_1) Attachment(Center) Manage(#SECT_CBX) Parent(#ATLM_1)Define_Pty Name(Section) Get(Get_Section) Set(Set_Section)Evtroutine Handling(#COM_OWNER.Initialize) Options(*NOCLEARMESSAGES *NOCLEARERRORS)* Select all entries from PSLMST and add to our combo boxSelect Fields(#SECTION) From_File(PSLMST)Add_Entry To_List(#SECT_CBX)EndselectEndroutinePtyroutine Name(Get_Section)Define_Map For(*output) Class(#SECTION) Name(#o_section)* Default property Get.** Get_Entry on the combo box focus item and set the return valueIf_Ref Com(#SECT_CBX.focusitem) Is_Not(*NULL)Change Field(#STD_NUM) To('#SECT_CBX.FOCUSITEM.ENTRY')Get_Entry Number(#STD_NUM)EndifSet Com(#o_section) Value(#SECTION)EndroutinePtyroutine Name(Set_Section)Define_Map For(*input) Class(#SECTION) Name(#i_section)* Default property Set.** Select_List on Combo and set focus to mathing item from inputSelectlist Named(#SECT_CBX)If Cond('#SECTION *ne #I_SECTION')ContinueEndifSet Com(#SECT_CBX.currentitem) Focus(true) Selected(true)EndselectEndroutineEnd_Com
Function Options(*DIRECT)Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(147) Clientwidth(492) Height(174) Left(369) Top(152)Define_Com Class(#PRIM_GRID) Name(#GRID) Captionnoblanklines(True) Columnbuttonheight(17) Componentversion(1) Displayposition(2) Height(128) Left(40) Parent(#COM_OWNER) Showbuttonselection(True) Showselection(True) Showselectionhilight(False) Showsortarrow(True) Tabposition(2) Top(8) Width(344)Define_Com Class(#PRIM_GDCL) Name(#GDCL) Displayappearance(Edit) Displayposition(1) Editappearance(ReusablePart) Editorpart(#SECTIONR) Parent(#GRID) Readonly(False) Source(#SECTION) Width(30)Define_Com Class(#SECTIONR) Name(#SECTIONR) Height(17) Left(8) Parent(#COM_OWNER) Tabstop(False) Top(8) Width(25)Evtroutine Handling(#COM_OWNER.CreateInstance) Options(*NOCLEARMESSAGES *NOCLEARERRORS)Select Fields(#SECTION) From_File(PSLMST)Add_Entry To_List(#GRID)EndselectEndroutineEnd_Com

注: |