You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

[ |../../index.htm#lansa/lansa048_5395.htm]
Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > 上級フィルター・スタイル > ミニ・フィルター > サンプル・コード > WAM ミニ・フィルター用 RDMLX

WAM ミニ・フィルター用 RDMLX

  • ================================================================================
  • 記述 ...:ミニ フィルター (簡素)
  • ================================================================================
    Function Options(*DIRECT)
    Begin_Com Role(*EXTENDS #PRIM_WAM) Layoutweblet('vlf_layout')
     
    *  フィルターの標準宣言
     
    Define_Com Class(#vf_sw100) Name(#avFrameworkManager)
    Define_Com Class(#vf_aw007) Name(#ThisFilter) Reference(*Dynamic)
    Define_Com Class(#vf_lw002) Name(#avListManager) Reference(*Dynamic)
    Define_Com Class(#fp_in001) Name(#FastPart) Reference(*Dynamic)
     
    *  VL フレームワーク・マップ・フィールド <変更不可>
     
    Web_Map For(*both) Fields((#VF_FRAMEI *private) (#VF_FRAMEW *private) (#VF_FRAMES *private) (#VF_ELXTOF *private) (#VF_ELXN01 *private) (#VF_ELXN02 *private) (#VF_ELXN03 *private) (#VF_ELXN04 *private) (#VF_ELXN05 *private) (#VF_ELXN06 *private) (#VF_ELXN07 *private) (#VF_ELXN08 *private) (#VF_ELXN09 *private) (#VF_ELXN10 *private) (#VF_ELXA01 *private) (#VF_ELXA02 *private) (#VF_ELXA03 *private) (#VF_ELXA04 *private) (#VF_ELXA05 *private) (#VF_ELXA06 *private) (#VF_ELXA07 *private) (#VF_ELXA08 *private) (#VF_ELXA09 *private) (#VF_ELXA10 *private) (#VF_ELMETA *private))
     
    *  すべての VLF WAMフィルターおよびコマンド・ハンドラーにより使用される標準 Webroutine。 Webroutine 名は変更不可。このルーチンを使用して WAM イベントを登録
     
    Webroutine Name(UHandleEvent)
     
    *  標準 WAM 初期化
     
  • 注:ミニ・フィルター用のイベント(以下)はフレームワークで事前登録されているため、登録の必要はありません。
  • uWAMEvent_21 --> mini filter button ONE was clicked
  • uWAMEvent_22 --> mini filter button TWO was clicked
  • uWAMEvent_23 --> mini filter button THREE was clicked
     
    #avFrameworkManager.avInitializeWAM Type(FILTER) Invoker(#com_owner) Listmanager(#avListManager) Filtermanager(#ThisFilter) Fastpartmanager(#FastPart)
     
    #avFrameworkManager.avHandleWAMEvent Anchorblock(#vf_framew) Event(#vf_event) Designmode(#vf_framed) Skin(#VF_Frames) Metatag(#vf_elmeta) Tof(#vf_elxtof) N01(#vf_elxn01) N02(#vf_elxn02) N03(#vf_elxn03) N04(#vf_elxn04) N05(#vf_elxn05) N06(#vf_elxn06) N07(#vf_elxn07) N08(#vf_elxn08) N09(#vf_elxn09) N10(#vf_elxn10) A01(#vf_elxA01) A02(#vf_elxA02) A03(#vf_elxA03) A04(#vf_elxA04) A05(#vf_elxA05) A06(#vf_elxA06) A07(#vf_elxA07) A08(#vf_elxA08) A09(#vf_elxA09) A10(#vf_elxA10) Ssiname(#VF_FRAMEI)
     
    Endroutine
     
    *  フィルターの初期化処理
     
    Evtroutine Handling(#avFrameworkManager.uexecute) Options(*noclearmessages *noclearerrors)
     
  • このフィルターをミニ・フィルターとしてアクティブ化
     
  • このフィルターは、フレームワーク識別バー (ツールバーの下) の検索フィールドと検索ボタンを使用して、
  • ユーザーとのやり取りを行います。このフィルターは表示されません。
     
  • 注: これはこのビジネス・オブジェクト専用の唯一のフィルターでなければいけません。
     
  • ミニ・フィルターの 1 つの検索フィールドと 1 つの検索ボタンを有効化。必要に応じてキャプションや幅を指定。
     
    Set Com(#thisfilter) Avminifilter(true) Avminifiltfield1(true) Avminifiltfldcapwid1(250) Avminifiltfldcap1(*MTXTDF_SURNAME) Avminifiltfldwid1(350) Avminifiltbutton1(true) Avminifiltbuttoncap1(*MTXTDF_SEARCH) Avminifiltbuttonwid1(150)
     
    Endroutine
     
    Evtroutine Handling(#avFrameworkManager.uWAMEvent_21) Options(*noclearmessages *noclearerrors) Value1(#Val1)
     
  • フレームワーク識別バーの検索フィールドにユーザーが入力さいた値は、このイベント・ルーチンの Value1 パラメータに提供されます。
    #Surname := #Val1.UpperCase
     
  • インスタンスリスト更新を開始。インスタンスリストをクリア
    #avListManager.BeginListUpdate
    #avListManager.ClearList
     
  • ユーザー指定の検索値に基きインスタンスリストを埋める
    Select Fields(#SURNAME #GIVENAME #EMPNO #PHONEHME #ADDRESS1 #POSTCODE) From_File(PSLMST2) With_Key(#SURNAME) Generic(*YES)
    Execute Subroutine(ADDLIST)
    Endselect
  • インスタンスリスト更新完了
    #avListManager.EndListUpdate
     
    Endroutine
     
  • ================================================
  • SUBROUTINE: インスタンスリストにエントリー追加
  • ================================================
    Subroutine Name(ADDLIST)
  • Build up visual identifier
     
    #Fullname := #Givename + " " + #Surname
     
  • ユーザーに定義された識別プロトコルを使って、インスタンスリストに
  • 追加
     
  • =====================
  • ビジュアル識別子
  • =====================
  • VisualID1 = 社員番号
  • VisualID2 = 名前 (#GiveName) と姓(#SurName) を
  • 連結させたもの
  • ===========================
  • プログラム識別子
  • ===========================
  • AKey1 = 社員番号
  • ====================================================
  • インスタンスリスト・マネージャーの追加列
  • ====================================================
  • AColumn1 = 電話番号 (自宅)
  • AColumn2 = 住所 1
  • NColumn1 = 郵便番号 (Zip)
    #avListManager.addToList Visualid1(#Empno) Visualid2(#Fullname) Akey1(#Empno) Acolumn1(#Phonehme) Acolumn2(#Address1) Ncolumn1(#Postcode)
     
    Endroutine
     
    End_Com
     
     
    [ |../../index.htm#lansa/lansa048_5395.htm]
  • No labels