4D v16.3OBJECT SET LIST BY REFERENCE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OBJECT SET LIST BY REFERENCE
OBJECT SET LIST BY REFERENCE
OBJECT SET LIST BY REFERENCEコマンドは、引数 object と * で指定したオブジェクトと関連付けられたリストを、 list 引数で指定した階層リストで置き換えもしくは定義します。 任意の * 演算子を渡した場合、 object 引数でオブジェクト名を文字列で指定します。省略時には object 引数でフィールドまたは変数を指定します。
listType 引数を省略した場合、コマンドは自動的にソースとなる選択リストを定義します。listType 引数では設定したいリストのタイプを指定することができます。 "Form Objects (Properties)" テーマ内にある以下の定数のどれかを渡して下さい:
list 引数には、オブジェクトに関連付けたい階層リストの参照番号を渡します。このリストは、 Copy list コマンド、 Load list コマンド、または New list コマンドを使用してすでに生成されている必要があります。 object と list の関連付けを解除するためには、解除したいリストの種類に対し、list 引数に 0 を渡します。 リストの関連付けを解除しても、リスト参照はメモリーからは消去されません。リストが不要になった時には CLEAR LIST コマンドを使用して下さい。 このコマンドは、変数またはフィールドに関連付けられたポップアップまたはコンボボックスに対して使用すると興味深い挙動をします( Design Reference マニュアルを参照して下さい)。この場合、関連付けは動的に行われ、リストの変更は全てフォームへと反映されます。オブジェクトが配列に関連付けられたとき、リストは配列へとコピーされ、リストへのいかなる変更も自動的に不可になります(例5を参照して下さい)。 単純な選択リスト(デフォルトのリスト型)をテキストフィールドへと関連付ける場合: vCountriesList:=New list "vColor" というリストを単純な選択リストとして "DoorColor" ポップアップリストに関連付けます: vColor:=New list 更に、 "vColor" のリストを、 "WallColor" というコンボボックスに関連付けする場合を考えます。このコンボボックスは入力可能なので、 "black" "purple" と言った色が入力されないようにしたい場合、これらの色を "vReject" というリストに入れて除外します: OBJECT SET LIST BY REFERENCE(*;"WallColor";Choice list;vColor) これらのリストの関連付けを解除する場合: OBJECT SET LIST BY REFERENCE(*;"WallColor";Choice list;0) この例では、このコマンドがテキスト配列に関連付けられたポップアップメニューに適用されたときと、テキスト変数に関連付けられたポップアップメニューに適用されたときの違いについて説明します。フォーム内に二つのポップアップメニューがあるとします: これらのポップアップメニューの中身は <>vColor list を使用して設定されています(中身はカラーの値です)。以下のコードがフォームをロードした際に実行されるとします: ARRAY TEXT(arr1;0) //arr1 pop up メニューの中身はどちらも同一内容です:
次に、ボタンなどを使用して以下のコードを実行します: APPEND TO LIST(<>vColor;"White";5) テキストフィールドと関連付けられていたメニューのみが(動的な参照によって)更新されます: 配列によって管理されたポップアップに関連付けられたリストを更新するためには、 OBJECT SET LIST BY REFERENCE コマンドを再度使用してリストの中身をコピーする必要があります。
参照
|
プロパティ
プロダクト: 4D
履歴
初出: 4D v14 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||