最近のアクセス:
Category パターン

「カテゴリ」の名のとおり、このパターンはアイテムをカテゴリに区分けするのに使用されます。
タイプとカテゴリの違い」を参照してください。
同類のものの組み合わせがある場合は、「カテゴリ」としてグループ化すると便利です。ほとんどの場合、カテゴリのトランザクションをモデルに追加するだけであり、大変シンプルです。
カテゴリ
CategoryId*
    CategoryName
Item
    ItemId*
    ItemName
    CategoryId
    CategoryName
ただし、次のようにさらに詳細な機能が必要な場合もあります:
  • アイテムの複数のカテゴリへの設定 (上記の例のように 1 つのカテゴリだけとは限りません)。
  • 有効性。アイテムを特定の期間内のみ特定のカテゴリに属させます。
  • カテゴリの階層。並列カテゴリはなく、階層 (飲料の場合、アルコール飲料にはワイン、ビールなどの階層) が必要な場合があります。
  • 豊富なカテゴリ。会計的側面から製品をグループ化するカテゴリや、製造的側面から製品をグループ化するカテゴリを設定することができます。
このパターンの目的は、任意のトランザクションにハイエンドなカテゴリエンジンを実装するのに必要なオブジェクトすべてを提供することです。

標準的な例

このパターンは、製品カタログの構築に非常に役立ちます。
Beverages
    Alcoholic Beverages
         Wines
              Red
              'Wine xxxx' (item)
              'Wine yyy' (item)
               ...Beer
               Light
               'Beer 123' (item)
               ...
通常、このタイプのカタログには有効期間がありますが、同時に 2 つ以上のカタログを作成することができます。

Category パターンの実装 

既定のインスタンスを生成するには、アイテムのトランザクションが必要です:
イメージ:5754.jpg
上記のアイテムのトランザクションにパターンを適用すると、既定で次の新しいパターンが生成されます。
イメージ:5755.jpg
イメージ:5756.jpg
  • ItemCatParentId が null である各 ItemCatId が、Catalog (カテゴリツリー) のルートとなります。
  • これは簡単なモデルのため、有効性機能は提供されていません。
必要な機能:
  • カテゴリに入力する階層データ
  • カテゴリのコピー
  • 分かりやすいカテゴリとアイテムの関係の割り当て (Multiple Values Assignment Pattern を使用)
  • カテゴリの削除 (子カテゴリおよびカテゴリとアイテムの関係の全削除も含む)

Category パターンのインスタンス

このインスタンスには次のノードがあります:
イメージ:5757.jpg
  • AttributesName: CategoryItem トランザクションの項目属性の名前: ItemCatId、ItemCatName、ItemCatParentId (ItemCatId のサブタイプ)、ItemCatParentName (ItemCatName のサブタイプ)
  • Transaction Names: CategoryItem および CategoryItemrelation
既定では、このパターンにより次のオブジェクトが生成されます:
  • CategoryItem トランザクション - カテゴリ階層を定義します。CategoryParentId が null のカテゴリがルートです。
  • CategoryItemRelation トランザクション - アイテムとカテゴリの関係を定義します。
  • TreeViewCategoryItemRelation Web パネル - 各カテゴリおよび各カテゴリに割り当てられたアイテムのツリービューを表示します (下の TreeView の例を参照してください)。
  • ItemCatalog データプロバイダー - TreeViewCategoryItemRelation Web パネルの開始イベントからツリービューをロードするために実装されています。
  • ItemByCategoryItemWC Web コンポーネント - この Web コンポーネントは、TreeViewCategoryItemRelation Web パネルからカテゴリに割り当てられたアイテムを表示します (下の TreeView の例を参照)。
  • CategoryItemRelationWC Web コンポーネント、および AddItemDeleteItem プロシージャー - カテゴリにアイテムを追加または、カテゴリからアイテムを削除できます。
次の画像はノード全体を示しています。
イメージ:5758.jpg

TreeView の例 1

TreeView Web パネルからビューの取得およびカテゴリへのアイテムの割り当てができます。次の画像は、Salads ノードを選択した後の状況を示しています。 
イメージ:5759.jpg

TreeView の例 2

  [ Assign Items To Salads ] をクリックすると、次の図が表示されます。ここでは、矢印ボタンを使用して、Salads カテゴリのエレメントを左の一覧から右の一覧へ、またはその逆に移動することができます。
イメージ:5760.jpg
すべてのインスタンスに関する全般的な設定については、「Category パターンの設定」を参照してください。

注:

このパターンには、フォルダおよびカテゴリビューを画面に表示するために Treeview ユーザーコントロールを使用する機能があります。










サブページ
Created: 14/09/18 03:17 by Admin Last update: 21/12/23 23:49 by Admin
カテゴリ
Powered by GXwiki 3.0