[]
DataMap クラスの新しいインスタンスを初期化します。
マップする項目を含む配列またはICollectionView 。
キー(データ値)を含むプロパティの名前。
項目のビジュアル表現として使用するプロパティ名。
マップデータを含むICollectionView オブジェクトを取得します。
項目のビジュアル表現として使用するプロパティ名を取得します。
ユーザーがDataMap に存在しない値を入力できるかどうかを示す値を取得または設定します。
DataMap を編集可能にするには、selectedValuePath と displayMemberPath が同じ値に設定されている必要があります。
項目のキー(データ値)として使用するプロパティ名を取得します。
Gets or sets a value indicating whether key values are converted to strings before use.
The default value is true.
This property is set to true by default, which means that for example the keys 123 (number) and ‘123’ (string), two Date objects defining the same date/time, and two different arrays of primitive values (like [1,2,3]), are treated as the equal key pairs and mapped to the same value.
If to set this property to false, the keys equality will be determined as in the native Map class, that is using the triple-equality (===) operator. This mode is useful if your keys are objects or arrays of objects. Note that in this case DataMap uses the native browser’s Map implementation. Some old mobile browsers, as well as IE9/10, don’t implement the Map interface. In this case DataMap will use its own array based implementation, which can bring serious performance penalties in case of big data arrays.
このDataMapを使用する列のデータを並べ替えるときに、 グリッドコントロールがマップ(表示)または未加工(キー)値を 使用するかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はtrueです。
指定されたキーに対応する項目を取得します。
取得する項目のキー。
指定されたキーに対応する表示値を取得します。
取得する項目のキー。
マップのすべての表示値を含む配列を取得します。
取得する表示項目に対応するデータ項目。 このパラメータはオプションです。 指定しない場合は、可能なすべての表示値が返されます。
指定した表示値に対応するキーを取得します。
取得する項目の表示値。
検索する値をHTMLからプレーンテキストに変換するかどうか。
マップのすべてのキーを含む配列を取得します。
mapChanged イベントを発生させます。
マップデータが変更されたときに発生します。
列の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つあります。
場合によっては、列挙を表す 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'); }