[]
        
(Showing Draft Content)

Wijmo_Grid.Datamap

DataMap クラス

列のColumn.dataMap プロパティで使用するデータマップを表します。

データマップは、グリッドに自動検索機能を提供します。たとえば、 顧客のIDの代わりに顧客名、RGB値の代わりに色名を 表示できます。

以下のコードは、グリッドを製品のコレクションに連結してから、DataMap をグリッドの'CategoryID'列に割り当てて、グリッドにID自体ではなくカテゴリ名を表示します。

グリッドは、編集にもデータマップを利用します。 wijmo.input モジュールをロードした場合は、データマップされた列の編集時に、マップの値を含むドロップダウンリストが表示されます。

import { FlexGrid, Column } from '@grapecity/wijmo.grid';

// グリッドを製品に結合します
let flex = new FlexGrid({
    itemsSource: products
});

// IDの代わりにカテゴリ名を表示するようにCategoryID列をマップします
let col = flex.getColumn('CategoryID');
col.dataMap = new DataMap(categories, 'CategoryID', 'CategoryName');

一般に、データマップは列全体に適用されます。ただし、別の列の値に基づいて、 セルに使用するオプションを制限することもできます。たとえば、"Country"列と"City"列がある場合は、 現在の国に基づいて都市を制限することがよくあります。 このような「動的」データマップを実装する方法は、次の2つあります。

  1. DataMap が単なる文字列のリストである場合は、グリッドが編集モードになる 前に変更を加えます。 この場合、セルには表示される文字列が含まれ、 マップを変更しても同じ列の他のセルには影響しません。 次のサンプルに例を示します。 .
  2. DataMap が実際のマップの場合(キー値をセル内に格納し、対応する文字列を表示する)は、 ドロップダウンに表示する値を制限するためのフィルタを適用します。 DataMap には同じキーと値が格納されたままなので、 同じ列の他のセルはフィルタの影響を受けません。 次のサンプルに例を示します。 .

場合によっては、列挙を表す DataMap を作成することができます。 上記を実現するには、次のコードを使用できます。

// 指定された列挙型のDataMapを構築します
function getDataMap(enumClass) {
    let pairs = [];
    for (let key in enumClass) {
        var val = parseInt(key);
        if (!isNaN(val)) {
            pairs.push({ key: val, name: enumClass[val] });
        }
    }
    return new DataMap(pairs, 'key', 'name');
}

Type parameters

  • K

  • V

階層

  • DataMap

コンストラクタ

constructor

  • new DataMap(itemsSource: any, selectedValuePath?: string, displayMemberPath?: string): DataMap
  • DataMap クラスの新しいインスタンスを初期化します。

    引数

    • itemsSource: any

      マップする項目を含む配列またはICollectionView

    • オプション selectedValuePath: string

      キー(データ値)を含むプロパティの名前。

    • オプション displayMemberPath: string

      項目のビジュアル表現として使用するプロパティ名。

    戻り値 DataMap

プロパティ

collectionView

collectionView: ICollectionView

マップデータを含むICollectionView オブジェクトを取得します。

displayMemberPath

displayMemberPath: string

項目のビジュアル表現として使用するプロパティ名を取得します。

isEditable

isEditable: boolean

ユーザーがDataMap に存在しない値を入力できるかどうかを示す値を取得または設定します。

DataMap を編集可能にするには、selectedValuePathdisplayMemberPath が同じ値に設定されている必要があります。

selectedValuePath

selectedValuePath: string

項目のキー(データ値)として使用するプロパティ名を取得します。

sortByDisplayValues

sortByDisplayValues: boolean

このDataMapを使用する列のデータを並べ替えるときに、 グリッドコントロールがマップ(表示)または未加工(キー)値を 使用するかどうかを決定する値を取得または設定します。

このプロパティのデフォルト値はtrueです。

メソッド

getDataItem

  • getDataItem(key: K): V
  • 指定されたキーに対応する項目を取得します。

    引数

    • key: K

      取得する項目のキー。

    戻り値 V

getDisplayValue

  • getDisplayValue(key: K): string
  • 指定されたキーに対応する表示値を取得します。

    引数

    • key: K

      取得する項目のキー。

    戻り値 string

getDisplayValues

  • getDisplayValues(dataItem?: V): string[]
  • マップのすべての表示値を含む配列を取得します。

    引数

    • オプション dataItem: V

      取得する表示項目に対応するデータ項目。 このパラメータはオプションです。 指定しない場合は、可能なすべての表示値が返されます。

    戻り値 string[]

getKeyValue

  • getKeyValue(displayValue: string, html?: boolean): K
  • 指定した表示値に対応するキーを取得します。

    引数

    • displayValue: string

      取得する項目の表示値。

    • オプション html: boolean

      検索する値をHTMLからプレーンテキストに変換するかどうか。

    戻り値 K

getKeyValues

  • getKeyValues(): K[]
  • マップのすべてのキーを含む配列を取得します。

    戻り値 K[]

onMapChanged

  • mapChanged イベントを発生させます。

    引数

    戻り値 void

イベント

mapChanged

mapChanged: Event<DataMap<any, any>, EventArgs>

マップデータが変更されたときに発生します。