4D v15

リストボックスにてダイナミック変数でカラムを作成

ホーム

 
4D v15
リストボックスにてダイナミック変数でカラムを作成

リストボックスにてダイナミック変数でカラムを作成  


 

 

4D v14 R3から導入

4D の新機能の一つとして、ランタイムで動的に新しいカラムを追加または挿入できるようになりました。この新機能によって、4D は必要な変数の定義(カラム、フッター、そしてヘッダー)を自動的に行います。

その結果、以下の三つの4Dコマンドが一部新しくなりました:

  • LISTBOX INSERT COLUMN
  • LISTBOX INSERT COLUMN FORMULA
  • LISTBOX DUPLICATE COLUMN

以下のコマンドは、ダイナミック変数の作成に対応するために、シンタックスが一部更新されています。

 

LISTBOX INSERT COLUMN ( {* ;} object ; colPosition ; colName ; colVariable ; headerName ; headerVar {; footerName ; footerVar} )
LISTBOX INSERT COLUMN FORMULA ( {* ;} object ; colPosition ; colName ; formula ; dataType ; headerName ; headerVar {; footerName ; footerVar} )
LISTBOX DUPLICATE COLUMN ( {* ;} object ; colPosition; colName ; colVariable ; headerName ; headerVar {; footerName ; footerVar} )

引数   詳細
...
colVariable配列、フィールド、変数、Nil ポインター->カラム配列名またはフィールドまたは変数
headerVar整数変数 または Nil ポインター->カラムヘッダー変数
...
footerVar変数 または Nil ポインター->カラムフッター変数

 

これらのコマンドは、colVariable (適用可能時のみ)、headerVarfooterVar 引数において、Nil ポインター (->[]) を値として受け取るようになりました。この場合、4D は、コマンドが実行された時に必要な変数を動的に作成します(詳細な情報に関しては、4Dランゲージマニュアルの"ダイナミック変数"のセクションを参照して下さい)。

ヘッダーとフッター変数は常に特定の型で作成されるという点に注意して下さい(ヘッダーは倍長整数、フッターはテキスト)。しかしながら、カラム変数は、リストボックスがこの変数に対して異なる型の配列(テキスト配列、整数配列、等)を受け入れるため、作成時に型を指定することはできません。そのため、配列の型は手動で設定しなければなりません。例えば:

 C_POINTER($NilPtr)
 LISTBOX INSERT COLUMN(*;"MyListBox";1;"MyNewColumn";$NilPtr;"MyNewHeader";$NilPtr)
 ColPtr:=OBJECT Get pointer(Object named;"MyNewColumn")
 ARRAY TEXT(ColPtr->;0) // 配列内に要素を事前に割り振っておきたいときには、0を正の値で置き換えて下さい

配列内に新しい要素を挿入するために LISTBOX INSERT ROWS などのコマンドを使用する前にこのように型を指定しておくことは、重要な事です。その代わり、 APPEND TO ARRAY を使用して、配列の型を指定すると同時に要素を挿入することが可能です。

 
プロパティ 

プロダクト: 4D
テーマ: ランゲージ

 
履歴 

 
ARTICLE USAGE

4D v15 - アップグレードリファレンス(標準版) ( 4D v15)