ロードされている各行またはグリッド内で選択されている行の処理を強制します。
For each line [ in <GridName> ]
code
Endfor
入力値の説明:
code
有効な言語コマンドのシーケンスです。
オブジェクト: Web Panel
ジェネレーター:
.NET、
.NET Framework 、
Java、RPG、Cobol、Ruby (GeneXus X Evolution 3 まで)、Visual FoxPro (GeneXus X Evolution 3 まで)、
Android、
Apple
このコマンドを使用すると、グリッド内のすべての行または選択した行を処理できます。たとえば、特定の条件を満たす行すべてをマークするのに使用することが可能です。
For Each Line には次の特性と制約があります:
- ロードされ、グリッドに表示されるレコードのみを処理します。グリッドにページングがある場合は、現在アクティブなページ行のみが処理されることを考慮してください。
- 変更されているかどうかに関わらず、すべての行を処理します。
- 各行を選択したのと同じ順序で処理します。
注:
- For Each Line コマンドを使用すると、Enter イベントで各行が処理されます。ただし、プログラマーがグリッドの値の更新を確認する必要があります。
- 視覚型でないジェネレーターでは、カーソルを配置した行のみ (1 行) を選択できます。Visual FoxPro では、グリッドから複数の行を選択することはできません (これは Visual FoxPro の制約であり、ジェネレーターの制約ではありません)。
- このコマンドは、ネストされたグリッドに対応しています (X Evolution 3 Upgrade 7 以降)。外部グリッドは、フリースタイルであり、その親の行はインスタンス化されている必要があります。つまり、イベントをトリガーするボタンは親のグリッドの内側に配置するか、次の方法でイベントをプログラムする必要があります:
For Each Line in ExternalGrid
For Each Line in InternalGrid
...
Endfor
Endfor
Event Enter // 処理されたすべての行に * を付ける
For each line
If &Op = '*' // 既に * がある場合は、'\' を付ける
&Op = '\'
Endif
If &Op = '/' // 処理される行
Call ...
&Op = '*'
Endif
Endfor
EndEvent
For Each コマンド