メインコンテンツまでスキップ
バージョン: v18

データソース

自動挿入

このオプションがチェックされていると、オブジェクトに関連付けられた選択リストにない値をユーザーが入力した場合に、その値が自動的にメモリー内のリストに追加されます。 フォームオブジェクトに選択リストを関連付けるには次の方法があります:

たとえば、"France, Germany, Italy" という値を含む選択リストが "Countries" というコンボボックスに関連付けられていた場合を考えます。自動挿入 のオプションがチェックをされていて、ユーザーが "Spain" という値を入力すると、"Spain" という値が自動的にメモリー内のリストに追加されます:

当然のことながら、オブジェクトに 除外リスト が設定されていた場合には、そのリストに含まれる値を入力することはできません。

デザインモードで定義されたリストが関連付けられている場合、自動挿入によって、その元のリストが変更されることはありません。

自動挿入 のオプションがチェックされていない場合、入力された値はオブジェクトの中には保存されますが、メモリー内のリストには入力されません。

JSON 文法

名称データタイプとりうる値
automaticInsertionbooleantrue, false

対象オブジェクト

コンボボックス - リストボックス列


選択リスト

選択リストをフォームオブジェクトに関連づけます。 指定できるのは選択リスト名 (リストの参照) またはデフォルト値のコレクションです。

JSON 文法

名称データタイプとりうる値
choiceListlist, collection選択可能な値のリスト
listlist, collection選択可能な値のリスト (階層リストのみ)

対象オブジェクト

ドロップダウンリスト - コンボボックス - 階層リスト - リストボックス列


選択リスト (静的リスト)

タブコントロールオブジェクトのラベルとして使用する静的な値のリスト。

JSON 文法

名称データタイプとりうる値
labelslist, collectionタブコントロールラベルに使用する値のリスト。

対象オブジェクト

タブコントロール


カレントの項目

コレクションまたはエンティティセレクションリストボックス

ユーザーによって選択されたコレクション要素/エンティティが割り当てられる変数あるいは式を指定します。 オブジェクト変数あるいはオブジェクトを受け入れる割り当て可能な式を使用する必要があります。 ユーザーが何も選択しなかった場合、あるいはスカラー値のコレクションを使用した場合、Null 値が割り当てられます。

このプロパティは「読み取り専用」であり、リストボックスにおけるユーザーアクションに基づいて自動的に更新されます。 この値を編集してリストボックスの選択状態を変更することはできません。

JSON 文法

名称データタイプとりうる値
currentItemSourcestringオブジェクト型の式

対象オブジェクト

リストボックス


カレントの項目の位置

コレクションまたはエンティティセレクションリストボックス

ユーザーによって選択されたコレクション要素/エンティティの位置を表す倍長整数が割り当てられる変数あるいは式を指定します。

  • 要素/エンティティが選択されていない場合、変数あるいは式は 0 を受け取ります。
  • 単一の要素/エンティティが選択されている場合、変数あるいは式はその位置を受け取ります。
  • 複数の要素/エンティティが選択されている場合、変数あるいは式は最後に選択された要素/エンティティの位置を受け取ります。

    このプロパティは「読み取り専用」であり、リストボックスにおけるユーザーアクションに基づいて自動的に更新されます。 この値を編集してリストボックスの選択状態を変更することはできません。

JSON 文法

名称データタイプとりうる値
currentItemPositionSourcestring数値型の式

対象オブジェクト

リストボックス


データタイプ

式タイプ を参照ください。

対象オブジェクト

リストボックス列


デフォルト値

配列型リストボックスにおいて、リストボックス列のデフォルト値として使用される値のリストです。 これらの値は自動で、フォームを実行したときにその列に割り当てられた 配列変数 に代入されます。 この配列を参照することで、ランゲージを使ってオブジェクトを管理することができます。

このプロパティと、新規レコードのフィールド値を定義するのに使える入力オブジェクトの デフォルト値 を混同しないようにしてください。

デフォルト値のリストを入力します。 フォームエディター上で専用のダイアログが開き、改行で区切られた値を入力することができます。

リストボックス列に 選択リスト を定義することもできます。 選択リストは列の各行において選択可能な値の候補として使用されますが、デフォルト値のリストはカラムの各行に上から順に割り当てられます。

JSON 文法

名称データタイプとりうる値
valuescollectionデフォルト値 (文字列) のコレクション。例: "a", "b", "c", "d"

対象オブジェクト

リストボックス列 (配列型のみ)


セレクション型 および コレクション / エンティティセレクション型 リストボックスのプロパティです。 変数あるいは式 の章も参照ください。

列に割り当てる 4D式です。 以下のものを指定できます:

  • 単純な変数 (この場合、コンパイル用に明示的に型宣言されている必要があります)。 BLOB と配列型以外のどんな型の変数も使用することができます。 変数の値は通常 On Display Detail イベントで計算されます。

  • 標準の [Table]Field シンタックスを使用した フィールド (セレクション型リストボックス のみ)。例: [Employees]LastName。 以下の型のフィールドを使用できます:

    • 文字列
    • 数値
    • 日付
    • 時間
    • ピクチャー
    • ブール
      マスターテーブルおよび他のテーブルのフィールドを指定できます。
  • 4D式 (単純な式、フォーミュラ、または 4Dメソッド)。 式は値を返す必要があります。 値は On Display Detail および On Data Change イベントで評価されます。 式の結果は、アプリケーションモードでフォームを実行すると自動で表示されます。 式は、セレクション型リストボックスではマスターテーブルの (カレントまたは命名) セレクションの各レコードごとに、コレクション型リストボックスではコレクションの各要素ごとに、エンティティセレクション型リストボックスではセレクションのエンティティごとに評価されます。 空の場合、列には何も表示されません。 以下の型の式がサポートされています:

    • 文字列

    • 数値

    • 日付

    • ピクチャー

    • ブール

      コレクション/エンティティセレクション型リストボックスにおいては、Null あるいはサポートされない型は空の文字列として表示されます。
      コレクションあるいはエンティティセレクションを使用する場合、カラムに割り当てられた要素プロパティ/エンティティ属性は、通常 This を含む式を用いて宣言します。 この This は現在処理中の要素への参照を返す、専用の 4Dコマンドです。 たとえば、This.<propertyPath> (ここでの <propertyPath> はコレクションのプロパティパス、あるいはエンティティ属性パス) を使用することで、各要素/エンティティのカレントの値にアクセスすることができます。 スカラー値のコレクションを使用した場合、4D は各コレクション要素に対して、単一のプロパティ (名前は "value") を持つオブジェクトを作成し、それに要素の値を格納します。 この場合、This.value を式として使用します。

      代入不可な式 (例: [Person]FirstName+" "+[Person]LastName など) を使用した場合、入力可 オプションが選択されていても、その列に値を入力することはできません。

フィールド、変数、あるいは代入可能な式 (例: Person.lastName) を使用した場合、入力可 プロパティの設定に基づき列への入力可/不可が決定されます。

JSON 文法

名称データタイプとりうる値
dataSourcestring4D変数、フィールド名、あるいは任意のランゲージ式

対象オブジェクト

リストボックス列


マスターテーブル

カレントセレクションリストボックス

使用するカレントセレクションが属するテーブルを指定します。 このテーブルとそのカレントセレクションが、リストボックスの列に割り当てられたフィールドの参照を形成します (フィールド参照やフィールドを含む式)。 ある列が他のテーブルのフィールドを参照しているとしても、表示される行の数はマスターテブルのカレントレコード数となります。

すべてのデータベーステーブルが利用できます。フォームがテーブルに属しているか (テーブルフォームの場合) あるいは属していないか (プロジェクトフォーム) は関係ありません。

JSON 文法

名称データタイプとりうる値
tablenumberテーブル番号

対象オブジェクト

リストボックス


関連付け

このプロパティは以下の場合に表示されます:

  • オブジェクトに対して 選択リスト が割り当てられている
  • 入力 および リストボックス列 の場合には、ユーザーがリスト内の値のみ入力できるように、オブジェクトに対して 指定リスト も定義されている (通常は両方のオプションで同じリストを使用しているはずです)。

このプロパティは、選択リストに関連付けされたフィールドまたは変数において、フィールドに保存する内容の型を指定します:

  • リスト項目の値 (デフォルトのオプション): ユーザーによって選択された項目の値が直接保存されます。 たとえば、ユーザーが "Blue" という値を選択した場合、この値がフィールドに保存されます。
  • リスト項目の参照番号: 選択リスト項目の参照がオブジェクトに保存されます。 この参照番号とは APPEND TO LIST または SET LIST ITEM コマンドの itemRef パラメーター、またはリストエディターを通してそれぞれの項目と関連付けされた数値です。

このオプションにより、メモリーを節約することができます。フィールドに数値を保存するのは文字列を保存するより容量が軽いからです。 また、これによりアプリケーションの翻訳が簡単になります。同じ項目の参照値を持つ、異なる言語で書かれた複数のリストを用意しておいて、アプリケーションの言語に応じたリストをロードするだけで多言語に対応できるからです。

リスト項目の参照番号の使用の際には、以下の点に注意する必要があります:

  • 参照を保存するには、データソースのフィールドまたは変数は、数値型である必要があります (リスト内に表示されている値の型とは関係ありません)。
  • リストの項目には有効かつ固有の参照が関連付けられている必要があります。
  • ドロップダウンリスト においてこのプロパティを使用する場合、ドロップダウンリストフィールドまたは変数と関連付けられている必要があります。

JSON 文法

名称データタイプとりうる値
saveAsstring"value", "reference"

対象オブジェクト

ドロップダウンリスト - 入力 - リストボックス列


選択された項目

コレクションまたはエンティティセレクションリストボックス

ユーザーによって選択されている一つ以上のコレクション要素/エンティティが割り当てられる変数あるいは式を指定します。

  • コレクションリストボックスにおいては、コレクション変数あるいはコレクションを受け入れる割り当て可能な式を使用する必要があります。
  • エンティティセレクションリストボックスにおいては、エンティティセレクションオブジェクトがビルドされます。 オブジェクト変数あるいはオブジェクトを受け入れる割り当て可能な式を使用する必要があります。

    このプロパティは「読み取り専用」であり、リストボックスにおけるユーザーアクションに基づいて自動的に更新されます。 この値を編集してリストボックスの選択状態を変更することはできません。

JSON 文法

名称データタイプとりうる値
selectedItemsSourcestringコレクション式

対象オブジェクト

リストボックス


命名セレクション

命名セレクションリストボックス

使用する命名セレクションを指定します。 有効な命名セレクションの名前を入力しなければなりません。 使用できるのはプロセスあるいはインタープロセス命名セレクションです。 リストボックスの内容はこのセレクションに基づきます。 選択された命名セレクションは、リストボックスが表示される時点で存在し、有効でなければなりません。そうでない場合、リストボックスは空で表示されます。

命名セレクションはソート済みのレコードリストです。 これはセレクション中のカレントレコードと並び順をメモリーに保持するために使用されます。 詳細は、4Dランゲージリファレンス マニュアル命名セレクション を参照してください。

JSON 文法

名称データタイプとりうる値
namedSelectionstring命名セレクションの名前

対象オブジェクト

リストボックス