DISPLAY SELECTION

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004 (Modified)


DISPLAY SELECTION ({aTable}{; selectMode{; enterList{; *{; *}}}})

引数説明
aTableテーブル表示するテーブル, または
省略時、デフォルトテーブル
selectMode倍長整数選択モード
enterListブールリスト入力を許可するオプション
*1レコードセレクションの場合にも出力フォームを使用し、
入力フォームのスクロールバーを隠す
*入力フォームでスクロールバーを表示する
(最初の*の2番目のオプションを上書きする)

説明

DISPLAY SELECTIONは、出力フォームを使用して、aTableのカレントセレクションを表示します。レコードはデザインモードの一覧に類似のスクロール可能な一覧として表示されます。ユーザがレコードをダブルクリックすると、デフォルトでそのレコードはカレント入力フォーム上に表示されます。リストは最前面にあるウインドウに表示されます。

セレクションを表示し、さらに (デザインモードのウインドウで実行するときにように) レコードをダブルクリックしてカレント入力フォーム上で修正するには、DISPLAY SELECTIONではなくMODIFY SELECTIONを使用してください。

以降に説明する情報はレコードの修正に関する情報を除き、すべて両方のコマンドに適用されます。

DISPLAY SELECTIONを実行した直後、カレントレコードが存在しない場合があります。カレントレコードを必要とする場合は、FIRST RECORDLAST RECORD等のコマンドを使用してください。

selectModeを使用し、マウスを用いたリスト上のレコードを選択の動作を設定できます。この引数には“Form Parameters”テーマのいずれかの定数を渡すことができます:

No Selection (0)を渡すと、リスト上のレコードを選択することはできません。

Single Selection (1)を渡すと、一度に1レコードだけを選択できます。

Multiple Selection (2)を渡すと、複数レコードを同時に選択することができます。連続しているレコードを選択するには、選択する最初のレコードをクリックし、次にShiftキーを押しながらセレクションに含めたい最後のレコードをクリックします。連続しないレコードを選択するには、Ctrlキー (Windows) または、Commandキー (Mac OS) を押したまま各レコードをクリックします。

selectModeを渡さない場合は、デフォルトとしてMultiple Selectionモードが使用されます。

enterList引数を使用すると、表示されるリスト中でリスト更新を許可することができます。これにより、ユーザは直接出力フォーム上でレコードを選択し、値を変更できるようになります。このモードを有効にするにはTrueを渡し、無効にするにはFalseを渡します。引数enterListを渡さない場合、デフォルトとしてリスト更新可オプションが無効になります。

DISPLAY SELECTIONコマンドでは、この引数によりリストの値の選択が許可されるだけであり、変更は許可されないということを覚えておいてください。実際DISPLAY SELECTIONにより、カレントテーブルは読み込みのみ状態になります。MODIFY SELECTIONを使用した場合にのみ、実際に値を入力することができます。

Note: SET ENTERABLE コマンドを使用し、オンザフライでリスト更新可オプションを有効、または無効に設定できます。

オプションの * 引数に関する規則を次に説明します:

- セレクションにレコードが1件しか存在しないときに、1番目のオプションの * を指定しない場合、そのレコードは出力フォームではなく入力フォーム上に表示されます。

- 1番目のオプションの * を指定した場合は、セレクションに1件しかレコードが存在しない場合でも出力フォームを使用します

- 1番目のオプションの * を指定し、ユーザがレコードをダブルクリックしてそれを入力フォームに表示した場合、入力フォームのスクロールバーは表示されません。これを無効にするには、2番目のオプションの * を指定します。

DISPLAY SELECTIONの実行を終了するため、出力フォームのフッタまたはヘッダエリアにカスタムボタンを配置できます。入力またはキャンセル自動アクション、あるいはACCEPTACCEPTコマンドを呼び出すオブジェクトメソッドを利用できます。DISPLAY SELECTIONにより呼び出された出力フォームにボタンが存在しない場合、Escape (Windows) またはEsc (Mac OS) を使用してリストを終了できます。

DISPLAY SELECTIONの実行中と後、ユーザが選択したレコードはUserSetという名前のセットに格納されます。UserSetは、セレクションの表示中にボタンがクリックされて呼び出されるオブジェクトメソッドや、メニュー項目が選択された際に実行されるメソッド内で使用できます。またコマンド終了後に、DISPLAY SELECTIONを呼び出したプロジェクトメソッド内でも利用できます。

例題

1. 以下の例は、最初に、[People]テーブルの全レコードをカレントセレクションにします。次にDISPLAY SELECTIONを使用してレコードを表示し、ユーザがプリントするレコードを選択します。最後に、選択されたレコードをUSE SETでカレントセレクションにし、PRINT SELECTIONコマンドでそのレコードを印刷します:

   ALL RECORDS([People])  ` すべのレコードを選択
   DISPLAY SELECTION ([People]; *)  ` レコード表示
   USE SET ("UserSet")  ` ユーザが選択したレコードのみを使用
   PRINT SELECTION ([People])  ` ユーザが選択したレコードを印刷

2. FForm eventの6番目の例題を参照してください。この例題ではDISPLAY SELECTIONコマンドの実行中に発生するイベントをすべて監視するためのあらゆるチェックが示されています。

3. アプリケーションモードでDISPLAY SELECTIONMODIFY SELECTIONを使用して、デザインモードでのレコードメニューの機能を再現するには、以下の手順にしたがってください:

a. デザインモードで必要なメニューを備えたメニューバーを作成します。例えばすべて表示、クエリ、並び替え等のメニューです。

b. このメニューバーを (フォームプロパティダイアログボックスの連結するメニューバーでメニューを選択して)、DISPLAY SELECTIONMODIFY SELECTIONで使用される出力フォームに関連付けます。

c. 以下のプロジェクトメソッドをメニューに関連付けます:

      ` M_SHOW_ALL (すべを表示メニューに割り当)
   $vpCurTable:=Current form table
   ALL RECORDS($vpCurTable->)
      ` M_QUERY (クエリメニューに割り当)
   $vpCurTable:=Current form table
   QUERY($vpCurTable->)

      ` M_ORDER_BY (並び替えメニューに割り当)
   $vpCurTable:=Current form table
   ORDER BY($vpCurTable->)

アプリケーションモードでセレクションの表示や修正を実行するたび、標準のメニューオプションを提供するために、PRINT SELECTIONQR REPORT等、他のコマンドも使用できます。Current form table コマンドを使用すればこれらのメソッドは汎用コードとなり、このメニューバーをあらゆるテーブルのあらゆる出力フォームに関連付けることができます。

参照

Form event, MODIFY SELECTION, セット.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次