4D v16.3

LISTBOX INSERT COLUMN

ホーム

 
4D v16.3
LISTBOX INSERT COLUMN

LISTBOX INSERT COLUMN 


 

LISTBOX INSERT COLUMN ( {* ;} object ; colPosition ; colName ; colVariable ; headerName ; headerVar {; footerName ; footerVar} )  
引数   説明
演算子 in 指定時, objectはオブジェクト名 (文字列) 省略時, objectは変数
object  フォームオブジェクト in オブジェクト名 (* 指定時) または 変数 (* 省略時)
colPosition  倍長整数 in 列の挿入場所
colName  文字 in 列オブジェクト名
colVariable  配列, フィールド, 変数, Nil pointer in 列配列名 または フィールド または 変数
headerName  文字 in 列ヘッダオブジェクト名
headerVar  整数変数, Nil pointer in 列ヘッダ変数
footerName  文字 in 列フッターオブジェクト名
footerVar  変数, Nil pointer in 列フッター変数

説明   

LISTBOX INSERT COLUMNコマンドは、object引数および * で指定されたリストボックスに列を挿入します。

注: このコマンドは階層モードで表示されているリストボックスの先頭列に適用されてもなにも行いません。

オプションの引数 * を渡すことにより、object引数がオブジェクト名(文字列)であることを示します。この引数を渡さない場合、object引数が変数であることを示します。この場合、文字列ではなく変数参照を指定します。オブジェクト名についての詳細はオブジェクトプロパティを参照してください。

新しい列は、colPosition引数で指定された列の直前に挿入されます。colPosition引数の値が列の合計数よりも大きい場合、最後の列の後ろにカラムが追加されます。

colNamecolVariableには、挿入する列のオブジェクト名および変数名を渡します。

  • 配列タイプのリストボックスの場合、列に表示する内容が格納された配列の名前を渡します。フォームが実行される際、動的なコンテキストにおいてこのコマンドを使用する場合、Nil (->[]) ポインターを渡す事ができます(以下を参照して下さい)。
  • セレクションタイプのリストボックスの場合、colVariable引 数にはフィールドまたは変数を渡します。結果列の内容は、リストボックスに関連付けられたセレクションのレコードごとに評価されるフィールドまたは変数の 値となります。このタイプのコンテンツは、リストボックスの"データソース"プロパティでカレントセレクションまたは命名セレクションを指定した場合にの み使用できます (リストボックスオブジェクトの管理を参照)。文字列, 数値, 日付, 時間, ピクチャ, ブールタイプのフィールドや変数を使用できます。

セレクションをベースとするリストボックスのコンテキストでは、LISTBOX INSERT COLUMNはフィールドや変数などの単純な要素を挿入するために使用できます。フォーミュラやメソッドなどのより複雑な表現式を使用したい場合はLISTBOX INSERT COLUMN FORMULAコマンドを使用します。

注: 同じリストボックス内で、配列をデータソースとする列と、フィールドや変数をデータソースとする列を混在させることはできません。

headerNameheaderVarには、挿入される列のヘッダのオブジェクト名および変数を渡します。

footerNamefooterVarにも、挿入される列のヘッダのオブジェクト名および変数を渡すことができます。

注: オブジェクト名は、フォーム内で重複してはいけません。colNameheaderNamefooterNameに渡される名前が既に使用されていないことを確認してください。重複した名前を指定すると、列は作成されず、エラーが生成されます。

4D v14 R3以降、フォーム実行中にこのコマンドを使用してカラムをリストボックス内へと動的に挿入することが出来るようになりました。その際、必要な変数(カラム、フッター、ヘッダー)の定義を4Dが自動的に行うようになりました。

これを可能にするため、LISTBOX DUPLICATE COLUMNcolVariable (配列型リストボックスのみ)、headerVarfooterVar 引数において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")



参照 

LISTBOX DELETE COLUMN
LISTBOX INSERT COLUMN FORMULA

 
プロパティ 

プロダクト: 4D
テーマ: リストボックス
番号: 829

 
履歴 

変更: 4D v11 SQL
名称変更: 4D v12
変更: 4D v13
変更: 4D v14 R3

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)