リストボックスオブジェクトが選択されているときにリストボックスレッツをクリックすると、その列を選択することができます:

リストボックス列ごとに標準のプロパティ (テキスト、背景色等) を設定できます。ここで設定されたプロパティは、リストボックスオブジェクトプロパティで設定されたものよりも優先されます。
注: 配列型リストボックスカラム(文字列、テキスト、数値、日付、時間、ピクチャー、ブール、あるいはオブジェクト)のオブジェクトテーマ内にて、変数の型 を定義することができます。オブジェクト配列を使用するためには、4D View Pro ライセンスが必要になります(カラム内でのオブジェクト配列の使用参照)。
この節ではその他のリストボックス列に特有のプロパティについて説明します。
注: データソース テーマはオブジェクト配列型のリストボックスのカラムでは使用できません。このコンテキストにおいては、それぞれのカラムのセルの中身は、対応するオブジェクト配列の要素の属性に基づきます。詳細な情報については、リストボックスのカラムでオブジェクト配列を使用 (4D View Pro)の章を参照して下さい。
- 式 (セレクション型およびコレクション/エンティティセレクション型リストボックス): 列に割り当てる4D式を、式欄で定義します:

以下のものを指定できます: -
- 単純な値(この場合、コンパイル用に明示的に型宣言されている必要があります)。BLOB と配列型以外のどんな型の変数も使用することができます。変数の値は通常、親リストボックスの On Display Detail イベントで計算されます。
- 標準の[Table]Fieldシンタックスを使用したフィールド (セレクション型リストボックスのみ)例: [Employees]LastName。以下の型のフィールドを使用できます:
マスターテーブルおよび他のテーブルのフィールドを指定できます。 - 4D式 (単純な式、フォーミュラ、または4Dメソッド)。式は値を返す必要があります。値は親リストボックスの On Display Detail およびカラムの On Data Change イベントで評価されることができます。式の結果はアプリケーションモードにスイッチした瞬間に自動的に表示されます。式はセレクション型リストボックスではマスターテーブルの (カレントまたは一時)セレクションの各レコード毎に、コレクション型リストボックスではコレクションの各要素ごとに、エンティティセレクション型リストボックスではセレクションのエンティティごとに評価されます。空の場合、列には何も表示されません。
以下の型の式がサポートされています:
- テキスト
- 数値
- ブール
- ピクチャー
- 時間
- 日付
- コレクション/エンティティセレクション型リストボックスにおいては、Null あるいはサポートされない型はからの文字列として表示されます。
コレクションあるいはエンティティセレクションを使用する場合、カラムに割り当てられた要素プロパティ/エンティティ属性は、通常This を含む式を用いて宣言します。ここでのThis は現在処理中の要素への参照を返す、専用の4Dコマンドです(詳細についてはThis コマンドを参照)。例えば、This.<propertyPath> (ここでの<propertyPath> はコレクションのプロパティパス、あるいはエンティティ属性パス)を仕様することで各要素/エンティティのカレントの値にアクセスすることができます。スカラー値のコレクションを使用した場合、4D は各コレクション要素に対して、単一のプロパティ(名前は"value")を持つオブジェクトを作成し、それに要素の値を格納します。この場合、This.value を式として使用します。
いずれの場合もプロパティリストの[...]ボタンをクリックして4Dフォーミュラエディターを開き、式を定義することができます。代入不可な式(例: [Person]FirstName+" "+[Person]LastName) など)を使用する場合、入力可オプションが選択されていても、その列に値を入力することはできません。
フィールド、変数、あるいは代入可能な式(例: Person.lastName)を使用する場合、入力可プロパティの設定に基づき列への入力可/不可が決定されます。
デザインモードでは、列の最初の行にデータソースのタイプが表示されます。例えば[Table1]MyFldのように表示されます。
定義された式が正しくない場合、アプリケーションモードでその列にはエラーメッセージが表示されます。
- デフォルト値 (配列タイプリストボックス): 列のデフォルト値のリストを入力するためのダイアログボックスを表示すすには編集...ボタンをクリックします。入力した値は自動で、フォームを実行したときにその列に割り当てられた配列変数に代入されます。
各要素は改行で区切ります。このダイアログボックスに関する詳細はデータ入力の制御と補助のデフォルト値を参照してください。 - データタイプ (セレクションタイプリストボックス): このメニューを使用して列に割り当てられた式や変数の型を指定します。これは適用する表示フォーマットを示し、"表示"テーマの表示タイプメニューを更新するために使用します。
式エリアにフィールドが入力されると、データタイププロパティは表示されません。フィールド型に対応した表示フォーマットが使用されます。 - 選択リスト: このプロパティを使用してリストボックス列に選択リストを割り当てることができます。選択リストを使用すると、ポップアップメニューを使用して列の値を変更することができます:

依然キーボードからの入力も可能である点に留意してください。選択リストを使用してのみ、値の変更を許可したい場合は、指定リストも選択します (後述)。
注: -
- num数値カラムに対して選択リストを関連付けた場合、必ず"." を小数点区切りとして使用してください。これはポップアップメニュー内では自動的に一般的な小数点区切りに変換され、他の記号(",", "$" ...) はポップアップメニューにおいては無視されます。
- 階層リストを指定した場合、第一レベルだけが利用できます。
- 関連付け(リスト項目の値/参照番号): 列が選択リストあるいは必須リストと関連付けられているとき、このプロパティによって列のフィールドまたは変数の中に保存されるコンテンツの型を定義することができます。このオプションについての詳細は、関連付け(値または参照番号)を参照して下さい。
このテーマにはリストボックス列の幅に関するプロパティが集められています。
- 幅: デフォルトの列幅 (ピクセル単位)。この値はフォームエディターでマウスを使用して列をリサイズすると更新されます。
リサイズオプションテーマ 内のサイズ変更可プロパティが選択されていると、ユーザーが手動で列幅を変更することもできます。 - 最小幅: 列の最小幅 (ピクセル単位)。列やフォームをサイズ変更する際、列幅はこのサイズよりも小さくすることができません。
- 最大幅: 列の最大幅 (ピクセル単位)。列やフォームをサイズ変更する際、列幅はこのサイズよりも大きくすることができません。
注意: フォームをリサイズする際、リストボックスの水平サイジングに拡大が設定されていると、一番右の列は必要に応じて最大サイズを超えて拡大します。
注意: プロジェクトにおいては、プロパティリストを使用することでリストボックス、カラム、ヘッダーまたはフッターに対して水平方向パディングと垂直方向パディングを定義することができます(developer.4d.com 参照)。また、ランタイムでLISTBOX SET PROPERTY コマンドを使用することもできます。
自動行高カラムプロパティは、以下のデータソース型を持つリストボックスにおいてのみ利用可能です:
- 配列 (階層型リストボックスは除く)
- コレクションまたはエンティティセレクション
このプロパティはデフォルトではチェックされていません。これを少なくとも1つのカラムに対してチェックした場合、行高さ および行高さ配列 リストボックスオプションの代わりに最小行高および最大行高オプションが表示されます(位置調整&サイズ調整テーマ 参照)。
このプロパティが少なくとも1つのカラムで有効化されている場合、全ての行の高さは、セルのコンテンツが切り落とされずに全体が表示されるように自動的に計算されます(ただしワードラップオプションが無効化されている場合を除く)。このオプションがチェックされている全てのカラムが行の高さを計算するさいに考慮されます。
- 行の高さの計算は、以下の要素を考慮します:
- 全ての型のコンテンツ (テキスト、数値、日付、時間、ピクチャー(*)、オブジェクト)
- 全てのコントロール型 (入力、チェックボックス、リスト、ドロップダウン)
- フォント、フォントスタイル、フォントサイズ
- ワードラップオプション: 無効化されていた場合、高さは段落の数に基づいて計算されます(行は切り落とされます)。有効化されている場合、高さは行数に基づいて計算されます(行は切り落とされません)。
(*) 計算はピクチャーのフォーマットによって変わります。
- 行の高さは、以下の要素は考慮しません:
- 非表示のカラムのコンテンツ
- プロパティリストまたはプログラミングで設定された行の高さおよび行高さ配列プロパティ(あれば)
注意: ランタイムでは追加の計算が必要になるため、自動行高オプションをつけることでリストボックスのスクロールのスムーズさに影響が出ることがあります。具体的には、大量の行を含むリストボックスの場合です。
最小行高および最大行高 プロパティは、カラムに対して自動行高オプションチェックされている場合に表示される追加のプロパティです。これを使用すると行に対する最小および最大の行の高さを設定することができます。この値はピクセルまたは行単位で指定することができます。最小行高プロパティの値は(同じ単位を使用して定義する場合)最大行高プロパティの値以下でなければなりません。

注意:
このテーマには (デフォルトで選択されている) リサイズ可オプションのみがあります。このオプションが選択されていると、ユーザーはヘッダーエリアの右側をドラッグすることで列のサイズを変更できます。
このテーマにはリストボックス列へのデータ入力に関するプロパティがまとめられています。
- 入力可: 列への入力を許可します (デフォルトで選択)。入力モードに入るには、ユーザーはセル上で2回クリックします。
このプロパティを選択しない場合、"データソース"や"値の範囲"テーマにある、値を選択するためのリストは選択できなくなります。
注: リストボックスへのデータ入力のために実装されたメカニズムについては4Dランゲージリファレンスマニュアルの入力の管理を参照してください。 - 入力フィルター: 列のセルに入力フィルターを割り当てます。入力可プロパティが選択されていない場合、このプロパティは表示されません。
このテーマではリストボックス列への入力を管理するためのリストを設定します。
- 指定リスト: 列に入力することができる値のリストを指定するために使用します。各セルに割り当てられたポップアップメニューを使用してリストの値にアクセスできます (データソーステーマの“選択リスト”プロパティ参照)。
選択リストプロパティと異なり、指定リストが指定されると、キーボードからの入力はできなくなります。ポップアップメニューを使用した値の選択のみが可能となります。選択リストと指定リストプロパティで異なるリストが選択されると、指定リストプロパティが優先されます。 - 除外リスト: 列に入力することができない値のリストを指定するために使用します。除外された値が入力されると受け入れられず、エラーメッセージが表示されます。
注: 指定されたリストが階層の場合、第一レベルのみが使用されます。
このテーマでは、列値の表示フォーマットや非表示プロパティの状態を設定します。このテーマの内容はオブジェクトテーマで設定された変数の型によって変化します。
注: リストボックスが階層モードで表示される際、第一列目において、このテーマのすべてのプロパティはすべて設定不可となります。
- タイプ フォーマット: 列のデータに表示フォーマットを割り当てるために使用します。提供されるフォーマットは変数型 (配列タイプのリストボックス) またはデータ/フィールド型 (セレクションタイプのリストボックス) により異なります。使用できる標準の4Dフォーマットは文字、数値、日付、時間、ピクチャー、そしてブールです。テキスト型に特別な表示フォーマットはあ りません。既存のカスタムフォーマットを使用することもできます。
- ブール配列をチェックボックスやポップアップメニューとして表示することもできます。チェックボックスオプションを選択するとタイトルプロパティが表示され、チェックボックスのタイトルを設定できます。ポップアップオプションを選択すると、テキスト (True時) とテキスト (False時) プロパティが表示され、ポップアップメニューの対応するタイトルを設定できます。
- 数値を表示する列は3ステートチェックボックスとして表示できます。このオプションは表示タイプドロップダウンリストにあります。3ステートチェックボックスタイプを選択すると、以下の値が表示されます:
- 0 = チェックされていない
- 1 = チェックされている
- 2 (または2以上の任意の数値) セミチェックボックス (三番目の状態)、データ入力時、この状態は2を返します。
- -1 = 非表示チェックボックス
- -2 = チェックされていない、入力不可
- -3 = チェックされている、入力不可
- -4 = セミチェックボックス、入力不可
この場合もタイトルプロパティが表示され、チェックボックスのタイトルを指定できます。
- テキストまたは文字列型のカラムに対して適用した場合、エリプシスで省略オプションはワードラップオプションがチェックされていない場合にのみ使用可能です。ワードラップオプションがチェックされていた場合、セル内を超えたコンテンツについてはワードラップ機能によって管理されますので、エリプシスで省略オプションは使用できません。
- エリプシスで省略オプションはブール型のカラムに対しても適用可能です。しかしながら、セルのフォーマットによって表示される結果は異なります:
- ポップアップ型のブールフォーマットに対しては、ラベルはエリプシスで省略されます。
- チェックボックス型のブールフォーマットに対しては、ラベルは常に見切れます(エリプシスで省略されません)。
プロパティリストのこのテーマでは、列のセルの背景色を設定します。
- 背景色: 列の背景色を設定することが出来ます。デフォルトでは、自動が選択されています。列は、この背景色をリストボックスレベルで使用します。
- 交互に使用する背景色: 列の中の奇数番の行に使用するための異なる背景色を設定することが出来ます。デフォルトでは、自動が選択されています。列は、この交互に使用する背景色をリストボックスレベルで使用します。
- 行背景色配列(配列型リストボックス)/背景色式(セレクション型およびコレクション/エンティティセレクション型リストボックス): 列のそれぞれのセルにカスタムの背景色を指定することが出来ます。指定するにはRGBカラー値を使用します。
- 配列型のリストボックスの場合には、倍長整数型配列の名前を入力しなければなりません。この配列のそれぞれの要素は列のそれぞれのセルと対応するので、二つの配列のサイズは同じである必要があります。この背景色を指定するときに"SET RGB COLORS"テーマ内の定数を使用することができます。もし上のレベルで定義されている背景色をそのまま継承したい場合 (継承を参照して下さい)には、対応する配列の要素に -255 を渡して下さい。
- セレクション型リストボックスの場合には、4D式か変数(ただし配列型を除く)を入力しなければなりません。4D式または変数は、それぞれの表示されているセルごとに評価されます。フォーミューラーエディターを使用して4D式を編集することが可能です。そのためにはエリアを選択したときに表示される [...] ボタンをクリックして下さい。"SET RGB COLORS"テーマ内の定数を使用することができます。
注: コレクション/エンティティセレクション型リストボックスでは、このプロパティはメタ情報式を使用しても設定することができます(テキストテーマ参照)。