4D Qodly Proでインタラクティブなデータリストを作成する

Deeplからの自動翻訳

今週のブログでは、データを表示するための動的なページの作成について説明します。今回は実践的な応用例として、従業員の年次業績報告書を作成するシステムの構築に焦点を当てます。このプロジェクトはGitHubで参照できます。

私たちの目標は、従業員のリストを表示し、部署や雇用形態によって結果をフィルタリングするオプションがある、ユーザーフレンドリーなインターフェイスを設計することです。

業績評価アプリケーション

これが最終的な結果です:

Qodlyソースのセットアップ

Qodly ソースのセクションでは、コンポーネントが使用するさまざまなソースを定義します。

この例では、データ・クラス “Employee” に基づいて、エンティティ選択タイプの “Employees” というタイトルのソースを作成します。初期値は、すべての従業員に設定されています。

blank

注意

  • This.page “にグループ化されたソースは、現在のページにスコープが限定されます。これらは、一時的またはページ固有のデータ処理に使用します。
  • Namespaces “配下にグループ化されたソースは、グローバル・スコープを持つため、複数のページで共有されるデータや設定に適しています。

データテーブルの作成

4D Qodly Proでは、データテーブルや マトリックスコンポーネントを利用して、データのリストを効果的に表示することができます。この例では、4DのCollectionやEntity Selectionタイプのリストボックスに似たdatatableコンポーネントを使用します。

Qodly source “フィールドでは、データテーブルに入力するエンティティ選択を割り当てることができます。Selected Element “フィールドは、リストボックスの “Current item “に相当する選択されたエンティティを取得します。

blank

次に、”Columns” セクションで、カラムを追加し、その式を定義します。例えば、”Employee “データクラスの直接属性である “Firstname “と、関連属性である “Department.Name “のカラムを定義します。

blank

データのフィルタリング

この実装では、従業員のリストを、所属部署または有効な従業員ステータスに基づいてフィルタリングできます。

blank

関数 loadEmployees()

4D側では、”Employees “クラスに関数を追加し、フィルタリング基準に従ってエンティティの選択を返します。

以下はコード・スニペットです:

exposed Function loadEmployees
($departement:Object;$isActive:Boolean) :cs.EmployeeSelection
If ($departement#Null)return This .query("ID_Departement = :1 AND isActive = :2";$departement.ID;$isActive)
Else
return This .query("isActive = :1";$isActive)
End if

アクティブ・ステータスによるフィルタリング

雇用ステータスによるフィルタリングを実装するために、”isActive” という名前の boolean 型の Qodly ソースを作成します。次に、このソースにリンクされたチェックボックスを追加します。

blank

スイッチのような外観を実現するために、”Variant” プロパティを Switch に設定します。

blank

そして、”loadEmployees” 関数をチェックボックスの “On Change” イベントに関連付けます。

blank

イベントの詳細については、Qodly Events Documentationを参照してください。

部署によるフィルタリング

部署でフィルタリングするには、4Dのドロップダウンに似たselectBoxを使用します。

2つのデータソースを作成します:

  • エンティティ選択タイプの “department”
  • 「エンティティ選択タイプの “部署

次に、Qodlyソースとして “departments “を、選択された要素として “department “を設定し、selectBoxコンポーネントを追加します。

blank

次に、selectBoxの中に、ソース”$This.Name “にリンクされたテキストコンポーネントを挿入します。

blank

最後に、SelectBoxコンポーネントの “On Change “イベントで、”department “と “year “をパラメータとして “loadEmployees “関数を呼び出します。

blank

完了です!

blank

データテーブルのスタイリング

最後のステップは、あなたの会社のデザインガイドラインまたはアプリケーションのビジュアルアイデンティティに合わせてデータテーブルを適合させることです。カスタマイズするには

  • ウィジェットのプロパティ(色、ボーダー、その他のスタイルなど)を調整する、
  • またはCSSクラスを適用します。

CSSクラスを使用すると、アプリケーション内のすべてのデータテーブルで一貫したスタイルを維持できるため、まとまりのあるユーザーエクスペリエンスを実現できるという利点があります。

次回のブログポストでは、Qodly StudioでCSSを使用する様々な可能性についてご紹介します。待ちきれない方は、Performance Reviewアプリケーションで使用されているCSSクラスを“DataTable “と呼びます。

次のステップ

おめでとうございます!これで、従業員データを表示およびフィルタリングできる機能的なページができました。このインタラクティブなシステムは、Qodlyアプリケーションでダイナミックにデータを扱うための強力な基礎となります。

データテーブルとそのアクションについての理解を深めるために、以下のリソースを参照してください:

それでは、また次のブログでお会いしましょう!

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