constructor(grid: FlexGrid, options?: any): FlexGridDetailProvider
FlexGridDetailProviderクラスの新しいインスタンスを初期化します。
FlexGrid that will receive detail rows.
Initialization options for the new FlexGridDetailProvider.
詳細セルを作成するためのコールバック関数を取得または設定します。
このコールバック関数は、パラメータとしてRow を受け取り、行詳細を表すHTML要素を返します。
```typescript // 指定された行の詳細セルを作成します dp.createDetailCell = (row) => { let cell = document.createElement('div'); new FlexGrid(cell, { itemsSource: getProducts(row.dataItem.CategoryID), headersVisibility: 'Column' }); return cell; }; ```
行詳細をいつ表示するかを決定する値を取得または設定します。
このプロパティのデフォルト値は**DetailVisibilityMode.ExpandSingle**です。
詳細セルを破棄するためのコールバック関数を取得または設定します。
このコールバック関数は、パラメータとしてRow を受け取り、詳細セルに関連付けられているすべてのリソースを破棄します。
この関数は、自動的に ガベージコレクトされないリソースをcreateDetailCell 関数で割り当てている場合に使用します。
[ENTER]キーが押されたときに実行されるアクションを取得または設定します。
このプロパティのデフォルト設定はNone です。 これにより、グリッドはキーを処理できます。 そしてToggleDetail により、Enterキーを操作して詳細行の表示を切り替えます。
行に詳細があるかどうかを判定するためのコールバック関数を取得または設定します。
このコールバック関数は、パラメータとしてRow を受け取り、行に詳細があるかどうかを示すブール値を返します。
```typescript // 奇数のCategoryIDを持つ項目から詳細を削除します。 dp.rowHasDetail = (row) => { return row.dataItem.CategoryID % 2 == 0; }; ```
このプロパティをnullに設定すると、すべての通常のデータ行(グループ行または新しいアイテムテンプレートではない)に詳細が含まれます。
getDetailRow(row: any): DetailRow
指定したグリッド行に関連付けられた詳細行を取得します。
Row or index of the row to investigate.
hideDetail(row?: Row | number): void
指定された行の詳細行を非表示にします。
Row or index of the row that will have its details hidden. This parameter is optional. If not provided, all detail rows are hidden.
isDetailAvailable(row: any): boolean
行に表示する詳細があるかどうかを決定する値を取得します。
Row or index of the row to investigate.
FlexGrid コントロールの詳細行を実装します。
To add detail rows to a FlexGrid control, create an instance of a FlexGridDetailProvider and set the createDetailCell property to a function that creates elements to be displayed in the detail cells.
例:
```typescript 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を使用して、FlexGridDetailProviderの行にさまざまな種類の詳細を追加する方法を示しています。
{@sample Grid/Rows/RowDetail/Overview/purejs デモ}