4D v16.3LISTBOX DUPLICATE COLUMN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
LISTBOX DUPLICATE COLUMN
LISTBOX DUPLICATE COLUMN
LISTBOX DUPLICATE COLUMNコマンドは、 object と * 演算子によって指定された列を、プログラムによって実行中のフォームにおいて複製します。(アプリケーションモード) 注: 列を複製する機能は以前の4D にもありましたが、デザインモードにおいてフォームエディターのコンテキストメニューの中にある列複製コマンドを使用することによってのみ可能、というものでした。 複 製元となる列においてプロパティリストやオブジェクト管理コマンド (OBJECT SET COLOR 等) を使用して設定されたスタイルオプション(サイズ、背景色、書式等)は、複製先の列にも反映されます。また、フォームのオブジェクトメソッド、スタイルと カラー配列やイベントなどといったものも複製されます。 object と * 演算子を使用して複製する列を指定します。任意の * 演算子を渡した場合、 object 引数でオブジェクト名を文字列で指定します。省略時には object 引数で列変数を指定します。 注: このコマンドは階層リストボックスの最初の列を指定した場合には何もしません。 複製した列は、 colPosition 引数で指定した位置の一つ前に置かれます。 colPosition が列全体の総数より大きい場合、複製した列は最後の列の後ろに置かれます。 colName 引数と colVariable 引数には、オブジェクト名と、新しく複製された列の変数を渡します。
繰り返しになりますが、オリジナルの列のデータソースまでは複製されないことにご注意ください。複製された列に対し、新たにソースとなる変数、配列、フィールドを設定してあげる必要があります。 headerName と headerVariable 引数には、新たに作成する列のヘッダーのオブジェクト名と変数を渡します。同様に、footerName 引数と footerVariable 引数にオブジェクト名と変数を渡してあげることで新しい列のフッターを設定することもできます。 footerVariable 引数省略時には 4D はフォーム変数を割り当てます。 Note: オブジェクト名は、フォーム内において固有でなければなりません。colName 引数、headerName 引数、 footerName 引数などで渡す名前がこれまでに使用されていないことを確認して下さい。重複していた場合、複製は行われず、エラーが発生します。 このコマンドはフォーム表示中に使用される必要があります。通常、フォームの On Load イベント内か、ユーザーのアクションへの反応(On Clicked イベント) にて使用されます。 4D v14 R3以降、リストボックスカラムを動的に複製し、必要な変数(カラム、フッター、ヘッダー)の定義を4Dが自動的に行うようになりました。 これを可能にするため、LISTBOX DUPLICATE COLUMN はcolVariable (配列型リストボックスのみ)、headerVar、footerVar においてNil (->[]) ポインターを引数として受け入れるようになりました。Nilポインターを渡してコマンドを実行すると、4Dは必要な変数を動的に作成します(詳細に関しては、ダイナミック変数 のセクションを参照して下さい)。 ヘッダー変数とフッター変数は常に特定のタイプで作成されるという点に注意して下さい(ヘッダーは倍長整数、フッターはテキスト)。反対に、カラム変数は作成時にタイプを指定することはできません。リストボックスはカラム変数に対して、異なるタイプの配列(テキスト配列、倍長整数配列、等々)を受け入れることができるからです。これはつまり配列のタイプを手動で設定しなければならないという事です(例題2を参照して下さい)。こういったタイプの指定は、配列に新しい要素を挿入するためにLISTBOX INSERT ROWS などのコマンドを呼び出す前に実行しなければなりません。その他には、 APPEND TO ARRAY を使用して配列の型を指定し、要素を挿入することができます。 以下のような配列型のリストボックスの中で、 "First Name" の列を複製して入力できるようにしたい場合: ボタンのコードは以下のようになります: ARRAY TEXT(arrFirstNames2;Records in table([Members])) ボタンをクリックすると、リストボックスは以下のようになります: ブール型のカラムを追加し、そのタイトルを変えます: C_POINTER($ptr)
参照
|
プロパティ
プロダクト: 4D
履歴
初出: 4D v14 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||