最近のアクセス:
For Each Line コマンド

グリッド内にロードされている各行の処理を強制します。

構文

For each line [ in <GridName> ]
     code
Endfor



入力値の説明:

<GridName>
     スキャンする Web オブジェクト用のグリッドコントロールフリー スタイル グリッド コントロール、または Tabular グリッドコントロールの名前です。グリッドが 1 つしかない場合は (構文に示されているように) グリッドの記述を避けることができますが、複数のグリッドがある場合は、スキャンするグリッドの名前を示す必要があります。
code
     各行で実行したい有効な言語コマンドのシーケンスです。


適用範囲

オブジェクト: Web PanelPanel
ジェネレーター: .NET.NET FrameworkJava、RPG、COBOL、AndroidAppleAngular


説明

このコマンドでは、グリッド内のすべての行を処理することができます (変更されているかどうかに関係なく)。
Web パネルの場合:
  • グリッドにロードされているレコードのみを処理します。グリッドにページングがある場合は、現在アクティブなページの行のみが処理されることを考慮してください。
  • このコマンドはネストされたグリッドでサポートされています。親の行がインスタンス化されている必要があります。つまり、イベントをトリガーするボタンは親のグリッドの内側に配置するか、以下のようにイベントをプログラムする必要があります:
    For Each Line in ExternalGrid
       For Each Line in InternalGrid
       ...
       Endfor
    Endfor
パネルの場合:
  • グリッドにベーステーブルがある場合、グリッドにロードされているレコードのみを処理します。グリッドにページングがある場合は、現在アクティブなページの行のみが処理されることを考慮してください。
  • グリッドにベーステーブルがない場合、For Each Line コマンドはすべてのレコードを処理します (グリッドにページングやその他のファクターがあるかどうかにかかわらず)。
     


例 1

数行のチケット (8 枚未満) を表示するグリッドを 1 つだけ含む Web Panel オブジェクトを考えます。エンドユーザーが 'Used Tickets' イベントに関連付けられたボタンを押すと、グリッドのすべての行がスキャンされ、行ごとに Procedure オブジェクトが呼び出され、対応するチケットレコードが更新されます。
Event 'Used Tickets'  
    For each line
        UpdateTicketAsUsed(TicketId)   //TicketId はグリッドに含まれる主キー項目属性。プロシージャーにパラメーターとして渡される。 
    Endfor
EndEvent


例 2

グリッドが 1 つしかない Web Panel オブジェクトを考えます。グリッドには &Op 変数が (列として) 含まれています。エンドユーザーが Enter キーまたは [ 実行 ] ボタンを押すと、Enter イベントがトリガーされます。そのため、グリッドのすべての行がスキャンされ、行ごとに For Each Line コマンドの中に書かれたコードが実行されます:
Event Enter // &Op 変数は、Web パネルの  [ Web Layout ]  の中にあるグリッドに含まれている。 
    For each line
        If &Op = '*' 
            ...  //実行したいアクション
            ...  //実行したいアクション                   
        Endif
    Endfor
EndEvent


サブページ
Created: 14/09/18 03:45 by Admin Last update: 24/12/16 23:23 by Admin
カテゴリ
Powered by GXwiki 3.0