ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LISTBOX INSERT COLUMN
|
LISTBOX INSERT COLUMN ( {* ;} object ; colPosition ; colName ; colVariable ; headerName ; headerVar {; footerName ; footerVar} ) | ||||||||
引数 | 型 | 説明 | ||||||
* | 演算子 |
![]() |
指定時, objectはオブジェクト名 (文字列) 省略時, objectは変数 | |||||
object | フォームオブジェクト |
![]() |
オブジェクト名 (* 指定時) または 変数 (* 省略時) | |||||
colPosition | 倍長整数 |
![]() |
列の挿入場所 | |||||
colName | 文字 |
![]() |
列オブジェクト名 | |||||
colVariable | 配列, フィールド, 変数, Nil pointer |
![]() |
列配列名 または フィールド または 変数 | |||||
headerName | 文字 |
![]() |
列ヘッダオブジェクト名 | |||||
headerVar | 整数変数, Nil pointer |
![]() |
列ヘッダ変数 | |||||
footerName | 文字 |
![]() |
列フッターオブジェクト名 | |||||
footerVar | 変数, Nil pointer |
![]() |
列フッター変数 | |||||
LISTBOX INSERT COLUMNコマンドは、object引数および * で指定されたリストボックスに列を挿入します。
注: このコマンドは階層モードで表示されているリストボックスの先頭列に適用されてもなにも行いません。
オプションの引数 * を渡すことにより、object引数がオブジェクト名(文字列)であることを示します。この引数を渡さない場合、object引数が変数であることを示します。この場合、文字列ではなく変数参照を指定します。オブジェクト名についての詳細はオブジェクトプロパティを参照してください。
新しい列は、colPosition引数で指定された列の直前に挿入されます。colPosition引数の値が列の合計数よりも大きい場合、最後の列の後ろにカラムが追加されます。
colNameとcolVariableには、挿入する列のオブジェクト名および変数名を渡します。
レコードのセレクションに基づいたリストボックスのコンテキストでは、LISTBOX INSERT COLUMNはフィールドや変数などの単純な要素を挿入するために使用できます。フォーミュラやメソッドなどのより複雑な表現式を使用したい場合はLISTBOX INSERT COLUMN FORMULAコマンドを使用します。
コレクション型/エンティティセレクション型のリストボックスもサポートされますが、しかしながらcolName 引数が式を受け付けないため、データソースを指定するにはLISTBOX SET COLUMN FORMULA コマンドを使用する必要があります。この場合にはLISTBOX INSERT COLUMN FORMULA コマンドを使用するほうがより適切です。
注: 同じリストボックス内で、配列をデータソースとする列と、フィールドや変数をデータソースとする列を混在させることはできません。
headerNameとheaderVarには、挿入される列のヘッダのオブジェクト名および変数を渡します。
footerNameとfooterVarにも、挿入される列のヘッダのオブジェクト名および変数を渡すことができます。
注: オブジェクト名は、フォーム内で重複してはいけません。colNameやheaderName、footerNameに渡される名前が既に使用されていないことを確認してください。重複した名前を指定すると、列は作成されず、エラーが生成されます。
フォーム実行中にこのコマンドを使用してカラムをリストボックス内へと動的に挿入することができます。その際、必要な変数(カラム、フッター、ヘッダー)の定義を4Dが自動的に行います。
これを可能にするため、LISTBOX DUPLICATE COLUMN は colVariable (配列型リストボックスのみ)、headerVar、 footerVar 引数においてNil (->[]) ポインターを引数として受け入れるようになりました。Nilポインターを渡してコマンドを実行すると、4Dは必要な変数を動的に作成します(詳細に関しては、 のセクションを参照して下さい)。
ヘッ ダー変数とフッター変数は常に特定のタイプで作成されるという点に注意して下さい(ヘッダーは倍長整数、フッターはテキスト)。反対に、カラム変数は作成 時にタイプを指定することはできません。リストボックスはカラム変数に対して、異なるタイプの配列(テキスト配列、倍長整数配列、等々)を受け入れること ができるからです。これはつまり配列のタイプを手動で設定しなければならないという事です(例題3を参照して下さい)。こういったタイプの指定は、配列に 新しい要素を挿入するために LISTBOX INSERT ROWS などのコマンドを呼び出す前に実行しなければなりません。その他には、 APPEND TO ARRAY を使用して配列の型を指定し、要素を挿入することができます。
リストボックスの最後に列を追加します:
C_LONGINT(HeaderVarName;$Last;RecNum)
ALL RECORDS([Table1])
$RecNum:=Records in table([Table1])
ARRAY PICTURE(Picture;$RecNum)
$Last:=LISTBOX Get number of columns(*;"ListBox1")+1
LISTBOX INSERT COLUMN(*;"ListBox1";$Last;"ColumnPicture";Picture;"HeaderPicture";HeaderVarName)
リストボックスの右に列を追加し、[Transport]Fees フィールドの値を関連付けます:
$last:=LISTBOX Get number of columns(*;"ListBox1")+1
LISTBOX INSERT COLUMN(*;"ListBox1";$last;"FieldCol";[Transport]Fees;"HeaderName";HeaderVar)
カラムを配列型のリストボックス内へと動的に挿入し、そのヘッダーを定義します:
C_POINTER($NilPtr)
LISTBOX INSERT COLUMN(*;"MyListBox";1;"MyNewColumn";$NilPtr;"MyNewHeader";$NilPtr)
ColPtr:=OBJECT Get pointer(Object named;"MyNewColumn")
ARRAY TEXT(ColPtr->;10)
//ヘッダーの定義
headprt:=OBJECT Get pointer(Object named;"MyNewHeader")
OBJECT SET TITLE(headprt->;"Inserted header")
プロダクト: 4D
テーマ: リストボックス
番号:
829
変更: 4D v11 SQL
名称変更: 4D v12 (INSERT LISTBOX COLUMN)
変更: 4D v13
変更: 4D v14 R3
ランゲージリファレンス ( 4D v20 R7)