グリッドコントロールの再表示動作は、[ Automatic refresh ] プロパティによって決まります。
Refresh イベント、Load イベント、または条件で使用される Web フォーム上の変数が変更されると、自動的に再表示されます。
グリッドに制限はなく、SDT にもバインドできます。
グリッドの再表示を変更およびトリガーするフォーム上の変数は、グリッド自体と直接関係する必要はなく、次のいずれかのイベントでインスタンス化するだけです:
- Refresh
- Load
- グリッドまたは Web パネルの任意の条件
この変数は GeneXus X Evolution 2 Upgrade 2 以降で使用できます。それ以前のバージョンについては、「Automatic Refresh Grid (X Evolution 1)」を参照してください。
SDT にバインドされているグリッドを自動的に再表示するためのサポートについては、GeneXus X Evolution 3 以降で使用できます。
[ Automatic Refresh ] プロパティの目的は、ユーザーがフィルタを入力したときにグリッドが自動的にロードされるようにするか、 [ 再表示 ] ボタンを押さないとロードされないようにするかを指定することです。
このプロパティに指定できる値には、次のものがあります:
ユーザーがフィルタを入力すると、グリッドが自動的にリフレッシュされます。 [ 再表示 ] ボタンを押す必要はありません。
社内の各従業員をロードするグリッドがあり、次のように条件を設定したとします:
EmployeeName like &EmployeeName when not &EmployeeName.IsEmpty();
変数 &EmployeeName は、フォーム内にあります。空の場合はフィルタは適用されず、すべてのレコードが表示されます:
ユーザーが、&EmployeeName フィルタに文字を入力すると、 [ 再表示 ] ボタンを押さなくても、グリッドの対応するレコードが自動的にフィルタリングされます。再表示は自動的に行われます。
注: フィルタのデータタイプとフィルタに使用する Web コントロールによって、条件がいつ適用されるか (ユーザーがフィールドに入力しているとき、または入力後に移動するとき) が異なります。編集コントロール内のフィルタの場合、文字フィルタについてはユーザーが入力する場合に適用されます。日付、日時、および数値のフィールドについては、フィールドから移動する場合に条件を確認します。コンボボックスおよびダイナミック コンボ ボックスのフィルタの場合も、フィールドから移動する場合に条件を確認します。チェックボックスとラジオボタンでは、値が変更されたときに条件が評価されます。グリッドだけが再表示され、ページのほかの部分は再表示されないことに注意してください。チェックボックスがフィルタの一部である場合にチェックボックスをオンにしても Start、Refresh および Load イベントは実行されません (グリッドのみが AJAX によって再表示されるため)。
条件を満たすレコードをグリッドにロードするには、ユーザーが何らかの操作を行う必要があります。グリッドにベーステーブルがあるどうかによって、ユーザーがフィルタに入力した後で、グリッドを再表示する方法が異なります:
- Enter キーを押す (グリッドにベーステーブルがある場合のみ)
- 再表示操作をトリガーするボタンまたは画像をクリックする (グリッドにベーステーブルがあるかどうかは関係ありません)
詳細はこちらを参照してください。
プロパティの変更の適用方法: すべてのオブジェクトをリビルド
|