リストボックスでコレクションを表示する

Deeplからの自動翻訳

最近、4Dは、新しいタイプの変数であるコレクションと、それを操作するための多くのメソッドを導入しました。4D v17では、コレクションの内容を簡単に表示することができるようになり、コレクションの可能性が広がりました。どのように?コレクションタイプのリストボックスです。

コレクションを使う大きなメリットは、 異種データを同じカラムに表示できることです。例えば、エンドユーザー向けの「フリー」フィールドを持つコレクションがあるとします。コンテキストによっては、ユーザーが数字を入力することもあれば、テキストを入力することもあり、また、日付を入力することもあります。これで、強制的にキャストすることなく、リストボックスのカラムにすべてを表示することができます。

コレクションを配列に変換する必要はありません。コードもありません。簡単です。

コレクションリストボックス:例

リストボックスの設定方法

まず、リストボックスの種類をコレクション」にします。次に、データソースとして、コレクションを返す変数または式を入力します。

次に、リストボックスの各列のデータソースを定義する必要があります。簡単です。現在の選択タイプのリストボックスと同じように、プロパティリストの各列に式を入力するだけです。

これを行うには、新しい This コマンドを使います。これは、現在再描画されている要素を含むオブジェクトを返します。リストボックスでは、このコマンドは各行ごとに評価され、現在のコレクション要素のすべての属性にアクセスすることができます。

コンテンツ 式を使用した書式設定

選択型のリストボックスでは、フォントカラー、背景色、フォントスタイル、選択可能および有効の状態を定義する式を入力できますが、各アクションに対してプロジェクトメソッドまたは式を指示する必要があります。コレクションタイプのリストボックスでは、さらに簡単で、これらのパラメータをすべて 1つのプロジェクトメソッド、つまりメタ情報式で定義することができます。

meta式は、表示されている各行に対して評価され、以下の属性を含むオブジェクトを返します。

  • fill背景色を定義するCSSカラーを入力します。
  • strokeフォントカラーを定義するCSSカラーを指定します。
  • fontStyle: 値を “italic “に設定すると斜体スタイルが適用され、そうでなければ “normal “に設定されます。
  • fontWeight太字にする場合は “bold”、そうでない場合は “normal “とします。
  • textDecorationアンダーラインのスタイルを適用するには、値を “アンダーライン “とし、それ以外は “ノーマル “とします。
  • unselectable行を選択可能にするかどうかを指定するブーリアンを入力します。
  • disabled行の有効/無効を指定するブール値を入力する.

属性が存在しない場合、4Dはデフォルト値を使用します。

例えば、リストボックスに「Decorate」というメタ式をバインドすることができます。Decorateメソッドには、次のコードが含まれています。

If (This. >10) := ("fill"; "red"; "stroke"; "white"; "fontWeight"; "bold") := ("fill"; "blue")value
$0New object
Else
$0New object
End if

この例では、”value “属性が10より大きい場合、行の背景は赤、文字は白で、太字になります。value “属性が10より小さい場合、行の背景は青になります。

選択した要素を取得する

現在の項目” “現在の項目の位置”プロパティで、コレクションの現在の要素のオブジェクトとその位置を取得できます。

Selected items” プロパティを使用すると、リストボックスから選択されたアイテムのコレクションを取得することができます。この新しいコレクションを、別のリストボックスのデータソースとして定義することもできます。このように、1行のコードも書かずに、あるリストボックスのサブセットを別のリストボックスに表示することができます。

blank

4Dコマンド側で

リストボックス」テーマの4Dコマンドは、コレクションタイプをサポートするように更新されました。いくつかの例を挙げます。 LISTBOX SORT COLUMN, LISTBOX INSERT COLUMN FORMULA, LISTBOX SET COLUMN FORMULAなどです。詳しくは、4D List box コマンドの完全なリストをご覧ください。

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。