[]
        
(Showing Draft Content)

転置グリッド

TransposedGrid コントロールは FlexGrid を拡張したもので、データを転置レイアウトで表示します。

このレイアウトでは:

  • データ項目は列として表示されます。

  • 項目のプロパティは行として表示されます。

元のデータソースは変更されません。

このレイアウトは、多数のデータを一覧するよりも、少数の項目間でプロパティを比較することが重要なケースに適しています。

レイアウトモデル

TransposedGrid は、FlexGrid の行と列の関係を反転させます。

  • itemsSource 内の各オブジェクトは列として表示されます。

  • 各行は、それらオブジェクトのプロパティを表します。

セルは、特定のデータ項目(列)における特定のプロパティ(行バインディング)の値を表します。

行の定義は TransposedGridRow オブジェクトで行います。

TransposedGridRow は Column を継承しているため、binding、header、dataType、format、dataMap、editor などの標準的な Column 設定を行に適用できます。

行の定義

TransposedGrid では、列定義の代わりに行定義を使用します。

行の生成は autoGenerateRows プロパティで制御します:

  • true: バインドされたアイテムから自動的に行が生成されます。

  • false: 行は明示的に定義する必要があります。

Example:

import * as input from '@mescius/wijmo.input';
import * as transposed from '@mescius/wijmo.grid.transposed';

const grid = new transposed.TransposedGrid('#theGrid', {
  autoGenerateRows: false,
  rows: [
    {
      binding: 'launchDate',
      header: 'Launch Date',
      format: 'd',
      editor: new input.InputDate(document.createElement('div'))
    },
    {
      binding: 'price',
      header: 'Price',
      format: 'c2',
      editor: new input.InputNumber(document.createElement('div'), {
        format: 'c2',
        min: 0
      })
    }
  ],
  itemsSource: data
});

行のグループ化は rowGroups によってサポートされており、関連するプロパティを階層的なセクションに整理します。

カスタムエディタ

カスタムエディタは行レベルで割り当てられます。

  • 行定義に対して editor プロパティを設定してください。

  • グループ化された行の場合は、rowGroups 内のリーフ行に editor を割り当てます。

サポートされているエディターの種類と動作については、「カスタムエディタ」を参照してください。

動作の違い

行はデータ項目ではなくプロパティを表すため、以下のような違いがあります:

  • 行の追加や削除は、データレコードではなくプロパティ定義に影響します

  • 列ではなく行が生成されます

  • 列グループ化ではなく行グループ化を使用します

サポートされていない、または変更されているメンバーの完全な一覧については、API リファレンスを参照してください。