[]
FlexGridDetailProvider クラスの新しいインスタンスを初期化します。
詳細行を受け取るFlexGrid。
新しいFlexGridDetailProvider の初期化オプション。
詳細セルを作成するためのコールバック関数を取得または設定します。
このコールバック関数は、パラメータとしてRow を受け取り、 行詳細を表すHTML要素を返します。 次に例を示します。
// create detail cells for a given row
dp.createDetailCell = (row) => {
let cell = document.createElement('div');
new FlexGrid(cell, {
itemsSource: getProducts(row.dataItem.CategoryID),
headersVisibility: 'Column'
});
return cell;
};
行詳細をいつ表示するかを決定する値を取得または設定します。
このプロパティのデフォルト値はDetailVisibilityMode.ExpandSingleです。
詳細セルを破棄するためのコールバック関数を取得または設定します。
このコールバック関数は、パラメータとしてRow を受け取り、 詳細セルに関連付けられているすべてのリソースを破棄します。
この関数はオプションです。この関数は、自動的に ガベージコレクトされないリソースをcreateDetailCell 関数で 割り当てている場合に使用します。
このFlexGridDetailProvider を所有するFlexGrid を取得します。
行詳細を表示するときにアニメーションを使用するかどうかを示す値を取得または設定します。
このプロパティのデフォルト値はfalse です。
[ENTER]キーが押されたときに実行されるアクションを取得または設定します。
このプロパティのデフォルト設定はKeyAction.None です。 これにより、グリッドはキーを処理できます。 そしてKeyAction.ToggleDetail により、Enterキーを操作して詳細行の表示を切り替えます。
詳細行の最大高さをピクセル単位で取得または設定します。
このプロパティのデフォルト値はnull, です。 この場合、詳細行の高さに上限はありません。
行に詳細があるかどうかを判定するためのコールバック関数を取得または設定します。
このコールバック関数は、パラメータとしてRow を受け取り、 行に詳細があるかどうかを示すブール値を返します。次に例を示します。
// 奇数のCategoryIDを持つ項目から詳細を削除します
dp.rowHasDetail = (row) => {
return row.dataItem.CategoryID % 2 == 0;
};
このプロパティをnullに設定すると、すべての通常のデータ行(グループ行または新しいアイテムテンプレートではない)に詳細が含まれます。
指定したグリッド行に関連付けられた詳細行を取得します。
調査する行または行のインデックス。
指定された行の詳細行を非表示にします。
詳細が非表示になっている行または行のインデックス。このパラメータはオプションです。 指定されない場合は、すべての詳細行が非表示になります。
行に表示する詳細があるかどうかを決定する値を取得します。
調査する行または行のインデックス。
行の詳細を表示するかどうかを決定する値を取得します。
調査する行または行のインデックス。
指定された行の詳細行を表示します。
詳細が表示されている行または行のインデックス。
他のすべての行の詳細を非表示にするかどうか。
FlexGrid コントロールの詳細行を実装します。
FlexGrid コントロールに詳細行を追加するには、 FlexGridDetailProvider のインスタンスを作成し、詳細セルに FlexGridDetailProvider 表示される要素を作成する関数を createDetailCell プロパティで設定します。
次に例を示します。
import { FlexGrid } from '@grapecity/wijmo.grid'; import { FlexGridDetailProvider } from '@grapecity/wijmo.grid.detail'; // カテゴリを表示するためのFlexGridを作成します let gridCat = new FlexGrid('#gridCat', { itemsSource: getCategories(); }); // カテゴリごとの製品を表示する詳細行を追加します let detailProvider = new FlexGridDetailProvider(gridCat, { createDetailCell: (row) => { let cell = document.createElement('div'); new FlexGrid(cell, { itemsSource: getProducts(row.dataItem.CategoryID) }); return cell; } });
FlexGridDetailProvider には、詳細行をいつ表示するかを決定する detailVisibilityMode プロパティがあります。このプロパティのデフォルト値は ExpandSingleです。これは、行ヘッダーに折りたたみ/展開アイコン を追加します。
次の例では、FlexGridDetailProvider を使用して FlexGrid の行にさまざまなタイプの詳細を追加する方法を示しています。
Example