[]
現在アクティブなセル要素を表すHTMLElementを取得します。
セルが現在選択されてない場合、または選択されたセルが現在の画面内にない場合、このプロパティはnullを返します。
現在アクティブなセルエディタを表すHTMLInputElementを取得します。
セルが現在編集されていない場合、このプロパティはnullを返します。
ユーザーがソースコレクションに項目を追加できるようにグリッドに新規行テンプレートを表示するかどうかを示す値を取得または設定します。
isReadOnly プロパティがtrueに設定されている場合、 新規行テンプレートは表示されません。
このプロパティのデフォルト値は falseです。
オートフィル機能を有効にするかどうかを示す値を取得または設定します。 オートフィルは、セルの右下隅をドラッグするパターンでセルにデータを自動入力する機能です。
ユーザーが[Delete]キーを押したときにグリッドの選択されている行を削除するかどうかを示す値を取得または設定します。
isReadOnly プロパティがtrueに設定されている場合、選択されている行は削除されません。
このプロパティのデフォルト値は falseです。
ユーザーがマウスを使用して行、列、またはその両方をドラッグできるかどうかを決定する値を取得または設定します。
autoScroll プロパティがtrueに設定されている場合、ユーザーが行または列を新しい位置に ドラッグするときにグリッドの内容が自動的にスクロールされます。
グリッドでは、列のドラッグがデフォルトで有効になっています。
グリッドが連結モードでは、行をドラッグするには特別な 考慮が必要になります。
グリッドが連結モードでは、行をドラッグするとデータソースとの同期が失われます (たとえば行4は6行として参照されることがあります)。 これを回避するには、draggedRow イベントを処理し、データを新しい行の位置と同期させる必要があります。
また、allowSorting プロパティをfalseに設定する必要があります。 そうしないと、行の順序がデータによって決定され、行をドラッグするのは無意味になります。
次のフィドルでは、連結グリッドでの行のドラッグを実行しています。 Bound Row Dragging.
@link FlexGrid}コントロールに対して、このプロパティのデフォルト値はb>AllowDragging.Columns/b>です。また、PivotGridコントロールに対して、このプロパティのデフォルト値はAllowDragging.Noneです。このプロパティはMultiRowコントロールには適用されません。
グリッドのどの部分のセル結合を許可するかを取得または設定します。
このプロパティのデフォルト値は、FlexGridコントロールの場合はAllowMerging.None、またPivotGridコントロールの場合はAllowMerging.Allです。
このプロパティはMultiRowコントロールには適用しません。
グリッドで、列ヘッダーに固定ボタンを追加するかどうか、および固定ボタンの動作を決定する値を取得または設定します。
ユーザーが固定ボタンを使用することで、グリッドを水平方向にスクロールしても列が表示されたままになるように 列を固定できます。
このプロパティのデフォルト値は AllowPinning.None です。
ユーザーがマウスを使用して行、列、またはその両方をサイズ変更できるかどうかを決定する値を取得または設定します。
サイズ変更が可能な場合は、列ヘッダーセルの右端をドラッグして列を、 行ヘッダーセルの下端をドラッグして行をサイズ変更できます。
ヘッダーセルの端をダブルクリックして、 行および列をコンテンツに合わせて自動的にサイズ変更することもできます。 自動サイズ変更の動作は、autoSizeMode プロパティを使用してカスタマイズできます。
このプロパティのデフォルト値はAllowResizing.Columnsです。
ユーザーが列ヘッダーセルをクリックして列をソートできるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は AllowSorting.SingleColumn です。
マウスまたはキーボードで選択範囲を広げる時、現在の選択範囲の開始位置(カーソル)と終了位置のどちらを変更するかを決定する値を取得または設定します。
このプロパティのデフォルト値は false です。これにより、 グリッド上にカーソルが移動され、選択範囲が固定されたままになります。
このプロパティが true に設定されている場合、 グリッド上に選択範囲が移動され、カーソルが固定されたままになります。 本動作はExcelと同じです。
セルホストの ARIA ラベル プロパティを取得または設定します。
グリッドがクリップボードショートカットを処理するかどうかを決定する値を取得または設定します。
次のクリップボードショートカットがあります。
クリップボード操作は、表示されている行および列だけが対象となります。
読み取り専用セルは貼り付け操作の影響を受けません。
このプロパティのデフォルト値は true です。
グリッドがitemsSource に基づいて列を自動的に 生成するかどうかを 決定する値を取得または設定します。
列の生成は、少なくとも1項目を含む itemsSource プロパティに依存します。 このデータ項目が検査され、列が作成されて、 プリミティブ値(数値、文字列、Boolean、またはDate)を含むプロパティに連結されます。
プロパティをnullに設定すると、適切なタイプを推測する方法がないため、 列は生成されません。このような場合は、 autoGenerateColumns プロパティをfalseに設定し、明示的に列を作成する必要があります。次に例を示します。
import { FlexGrid } from '@mescius/wijmo.grid';
let grid = new FlexGrid('#theGrid', {
autoGenerateColumns: false, // データ項目にnull値が含まれる場合があります
columns: [ // そのため、列を明示的に定義します
{ binding: 'name', header: 'Name', dataType: 'String' },
{ binding: 'amount', header: 'Amount', dataType: 'Number' },
{ binding: 'date', header: 'Date', dataType: 'Date' },
{ binding: 'active', header: 'Active', dataType: 'Boolean' }
],
itemsSource: customers
});
FlexGridコントロールに対して、このプロパティのデフォルト値は trueです。また、 PivotGrid コントロールに対して、このプロパティのデフォルト値は false です。
データまたはグリッドレイアウトが変更されたときにグリッドが自動的に行のサイズを変更するかどうかを決定する値を取得または設定します。
このプロパティは、グリッドに内容がワードラップされるように 構成された列が含まれている場合( Column.wordWrap) を参照)や、グリッドの行数が比較的に少ない場合は特に役立ちます。
このプロパティのデフォルト値はfalseです。
ユーザーが行または列を新しい位置にドラッグするときにグリッドの内容が自動的にスクロールされるかどうかを決定する値を取得または設定します。
行と列のドラッグは、allowDragging プロパティによって制御されます。
このプロパティのデフォルト値は true です。
ユーザーが読み取り専用セルに入力するに伴ってグリッドでセルを検索するかどうかを決定する値を取得または設定します。
検索が現在選択されている列(編集不可能な場合)で行われます。 検索は現在選択されている行から始まり、大文字と小文字を区別されません。
caseSensitiveSearchプロパティもご参考ください。 このプロパティのデフォルト値は false です。
行または列のサイズを自動設定するときにどのセルを考慮に入れるかを取得または設定します。
このプロパティは、ユーザーが列ヘッダの端をダブルクリックしたときの動作を制御します。
デフォルトでは、その列のヘッダセルとデータセルの内容に基づいて 列の幅が自動的に設定されます。 このプロパティを使用すると、 ヘッダのみまたはデータのみに基づいて列の幅を設定するように変更できます。
このプロパティのデフォルト値はAutoSizeMode.Bothです。
ブール列の編集に使用されるチェックボックスがセル幅全体をカバーするように拡張するかどうかを決定する値を取得または設定します。
大きなチェックボックスは、ユーザーがセルの任意の場所をクリックして切り替えることができるため、マウスで簡単に切り替えることができます。
このプロパティのデフォルト値はfalseです。
左下のセルを含むGridPanel を取得します。
bottomLeftCells パネルは、行ヘッダの下、columnFooters パネルの左に表示されます。
数式を計算するときに丸める小数点以下の桁数を取得または設定します。
負の値は、数値の丸めが実行されないことを意味します。
このプロパティのデフォルト値は14です。
検索するときに大文字と小文字を区別するかどうかを決定する値を取得または設定します。
検索処理には、通常のテキストの検索(autoSearchプロパティを参照)と、データマップされたセルの編集時の項目の検索(Column.dataMapプロパティを参照)が含まれます。
このプロパティのデフォルト値はfalseです。デフォルトでは、検索で大文字と小文字が区別されません。DataMapセルの場合は常に最初に大文字と小文字を区別して検索を実行され、その後caseSensitiveSearchの値に応じた検索が実行されます。
このグリッドのセルを作成および更新するCellFactory を取得または設定します。
データセルを含むGridPanel を取得します。
階層グリッドで子の行の生成に使用される1つ以上のプロパティの名前を取得または設定します。
このプロパティには、項目の子項目を含むプロパティの名前を指定する文字列を設定します
(たとえば、 childItemsPath = 'items';
)。
項目の異なるレベルに異なる名前を持つ子項目がある場合は、
このプロパティに、各レベルの子項目を含むプロパティの名前から成る配列を設定します。
(たとえば、. childItemsPath = ['checks','earnings'];
)。
このプロパティはMultiRowコントロールには適用しません。
コントロールのクライアントサイズを取得します(コントロールのサイズからヘッダーとスクロールバーを引いた値)。
スクロール中のちらつきを減らすために、FlexGridがフリーズされたセルを複製し、 別の要素に表示するかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は null です。これにより、 グリッドでブラウザに応じて最適な設定が適用されます。
グリッドデータを含むICollectionView を取得します。
itemsSource プロパティが ICollectionViewに設定されている場合、 このプロパティはその値を返します。
itemsSource プロパティがデータ項目の配列に設定されている場合、 このプロパティは編集およびソートをサポートするために グリッドによって作成された内部 CollectionView を返します。
列フッターセルを保持するGridPanel を取得します。
columnFooters パネルは、グリッドセルの下、 bottomLeftCells パネルの右に表示されます。 これを使用して、 グリッドデータの下にサマリー情報を表示できます。 以下の例では、columnFooters パネルに 1行を追加して、Column.aggregate プロパティが設定された列に サマリーデータを表示する方法を示します。
function addFooterRow(flex) {
// 集計を表示するGroupRowを作成します
let row = new wijmo.grid.GroupRow();
// 列フッターパネルに行を追加します
flex.columnFooters.rows.push(row);
// ヘッダーにシグマを表示します
flex.bottomLeftCells.setCellData(0, 0, '\u03A3');
}
階層列グループの定義に使用される配列を取得または設定します。
配列内のアイテムは、Column オブジェクトのプロパティと、 オプションである3つのメンバーを持つJSONオブジェクトである必要があります。
子列の配列を含む'columns' メンバー、
グループが折りたたまれたときに表示されたままにする必要がある子列のバインディングを含む'collapseTo' メンバー、
グループを最初に縮小する必要があるかどうかを決定する'isCollapsed' ブール値。
たとえば、次のサンプルコードは、 折りたたまれた状態で2つの列グループを含むグリッドを生成します。
new FlexGrid('#theGrid', {
autoGenerateColumns: false,
columnGroups: [
{ header: 'Group 1', align: 'center', collapseTo: ['id', 'country'], isCollapsed: true, columns: [
{ binding: 'id', header: 'ID' },
{ binding: 'date', header: 'Date', dataType: 'Date' },
{ binding: 'country', header: 'Country', dataType: 'String' },
{ binding: 'active', header: 'Active', dataType: 'Boolean' },
]},
{ header: 'Group 2', align: 'center', collapseTo: 'sales', isCollapsed: true, columns: [
{ binding: 'sales', header: 'Sales', dataType: 'Number' },
{ binding: 'expenses', header: 'Expenses', dataType: 'Number' },
]}
],
itemsSource: getData(20)
});
列ヘッダセルを含むGridPanel を取得します。
現在の列レイアウトを定義するJSON文字列を取得または設定します。
列レイアウト文字列は、列とそのプロパティを含む配列を表します。 これを使用して、ユーザーが定義した列レイアウトをセッションを越えて保持できます。 また、ユーザーが列レイアウトを変更できるアプリケーションで元に戻す/やり直し機能を実装することもできます。
列レイアウト文字列には、dataMapやeditorなどのJSONに変換できないプロパティは含まれていません。
列レイアウトを保存および復元する必要があり、 レイアウトをシリアル化可能にする必要がない場合は、 columnsプロパティのコンテンツのクローンを作成した後で、 配列のメソッドを使用して復元できます。 これは、columnLayoutプロパティを使用するほど便利ではありませんが、 データマップとエディターを保存および復元することはできます。
グリッドの列コレクションを取得します。
グリッドが空にした編集内容をセル値に確定する方法を示す値を取得または設定します。
このプロパティのデフォルト値はtrueです。
空にした編集内容の確定を無視することを選択した場合、元の値が null の場合、 グリッドはセル値に空にした編集内容を確定しません。
コントロールの外接矩形(ページ座標単位)を取得します。
グリッドでデータをクリップボードにコピーするときに、ヘッダーセルのコンテンツを含めるかどうかを決定する値を取得または設定します。
このプロパティは、グリッドにデータを貼り付けるときに通常ヘッダー情報を含める必要がないため、 読み取り専用グリッドで特に役立ちます。
FlexGridコントロールに対して、このプロパティのデフォルト値は HeadersVisibility.Noneです** PivotGrid コントロールに対して、このプロパティのデフォルト値は HeadersVisibility.All です。
ユーザーがマウスボタンを放すまで、行および列のサイズ変更を遅らせるかどうかを決定する値を取得または設定します。
フォルトでは、deferResizing はfalseに設定されており、 ユーザーがマウスをドラッグするに伴って行および列がサイズ変更されます。 このプロパティをtrueに設定すると、 グリッドにサイズ変更マーカーが表示され、 ユーザーがマウスボタンを放したときに初めて行または列のサイズが変更されます。
FlexGridコントロールに対して、このプロパティのデフォルト値はfalseです。また、 PivotGrid コントロールに対して、このプロパティのデフォルト値はtrueです。
FlexSheet で定義された名前付き範囲または名前付き式を表すDefinedName オブジェクトの配列を取得します。
項目が編集されているかどうかを示す行ヘッダパネル内の列のインデックスを取得または設定します。
このプロパティのデフォルト値は null です。これにより、 グリッドで rowHeaders パネルの最後の列に編集中のグリフが表示されます。
現在編集中のセルを識別するCellRange を取得します。
グリッドデータを含むIEditableCollectionView を取得します。
シートで行または列のドラッグアンドドロップを有効にするかどうかを示す値を取得または設定します。
シートで数式を有効にするかどうかを示す値を取得または設定します。
showErrors プロパティがtrueに設定されているときにグリッドで検出された検証エラーを表示するために使用される Tooltip オブジェクトを取得または設定します。
デフォルトでは、このプロパティにツールチップが表示されるまでの遅延が0で (無効なセル上にマウスをホバーするとツールチップがすぐに表示される)、 HTML要素が含まれない、およびツールチップの外観を カスタマイズするための "wj-error-tip"クラスが含まれています。
このプロパティをnullに設定されている場合、 コントロールはセルの "title"属性を使用して検証エラーを表示します。
グリッドでクリップボードへ、またはクリップボードから、コンテンツをコピーまたは貼り付けるときに、選択範囲を自動的に拡張して結合範囲のセルを含めるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は true。
FlexSheet のフィルタリングを制御するFlexSheetFilter インスタンスを取得します。
グリッド内の固定行数または固定列数を取得または設定します。
固定された行や列は、垂直または水平方向にスクロールできませんが、そのセルを選択して編集することは可能です。
固定列の数を取得または設定します。
固定された列は水平方向にスクロールできませんが、セルは選択および編集できます。
このプロパティのデフォルト値は 0です。
固定行の数を取得または設定します。
固定された行は垂直方向にスクロールできませんが、セルは選択および編集できます。
このプロパティのデフォルト値は 0です。
グループヘッダーコンテンツを作成するために使用される書式文字列を取得または設定します。
この文字列は、任意のテキストと次の置換文字列を含むことができます。
列がグループ化プロパティに連結されている場合は、列ヘッダーを使用して
{name}
パラメータを置換し、列の書式とデータマップを使用して {value}
パラメータを計算します。
列がない場合は、代わりにグループ情報が使用されます。
グループプロパティに連結された非表示の列を追加して、グループヘッダーセルの書式設定をカスタマイズすることもできます。
このプロパティのデフォルト値はnullです。これにより、グリッドは指定されたカルチャの文字列を使用します。
'{name}: <b>{value}</b>({count:n0} items)'
このデフォルトの書式文字列は、次のようなグループヘッダを作成します。
'Country: <b>UK</b> (12 items)'
'Country: <b>Japan</b> (8 items)'
グループ内のサマリー行の位置を決定する値を取得または設定します。 childItemsPath プロパティが設定されている場合、このプロパティは機能しません。
このプロパティのデフォルト値は GroupSummaryPosition.Top です。
行ヘッダおよび列ヘッダにフォーカスできるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は HeadersFocusability.None です。
行ヘッダおよび列ヘッダが表示されるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は HeadersVisibility.All です。
コントロールをホストしているDOM要素を取得します。
編集モードでないときに、グリッドがIME(Input Method Editor)をサポートするかどうかを決定する値を取得または設定します。
このプロパティは、日本語、中国語、韓国語など、IMEサポートを必要とする言語のサイト/アプリケーションにのみ関係します。
このプロパティのデフォルト値はfalseです。
コントロールが無効かどうかを判定する値を取得または設定します。
無効化されたコントロールは、マウスイベントやキーボードイベントを取得できません。
関数リストが開いているかどうかを示す値を取得します。
ユーザーがマウスとキーボードを使用してセル値を変更できるかどうかを判定する値を取得または設定します。
このプロパティのデフォルト値は、FlexGridコントロールの場合はfalse、またPivotGridコントロールの場合はtrueです。
TabHolderが表示されているかどうかを示す値を取得または設定します。
現在、コントロールがタッチイベントを処理しているかどうかを示す値を取得します。
コントロールが現在更新中かどうかを示す値を取得します。
このグリッドのセルのカスタマイズに使用されるフォーマッター関数を取得または設定します。
このフォーマッター関数は、任意のセルに任意の内容を追加できます。 そのため、グリッドセルの外観と動作を非常に柔軟に制御することが可能です。
指定される場合この関数は、セルを含む GridPanel 、セルの行インデックスと列インデックス、セルを表すHTML要素の4つのパラメーターをとります。 通常は、関数内でセル要素の innerHTML プロパティを変更するようにします。
例:
flex.itemFormatter = (panel, r, c, cell) => {
if (panel.cellType == CellType.Cell) {
// セルにスパークラインを描画します
let col = panel.columns[c];
if (col.name == 'sparklines') {
cell.innerHTML = getSparkline(panel, r, c);
}
}
}
FlexGridはセルをリサイクルするため、 itemFormatter によってセルのスタイル属性を変更する場合は、 セルの適切でないスタイル属性を事前にリセットする必要があります。 例:
flex.itemFormatter = (panel, r, c, cell) => {
// カスタマイズする属性をリセットします
let s = cell.style;
s.color = '';
s.backgroundColor = '';
// このセルのcolorおよびbackgroundColor属性をカスタマイズします
...
}
複数のクライアントがグリッドのレンダリングをカスタマイズできるようにする場合は(たとえば、ディレクティブや再利用可能なライブラリを作成するときなど)、 代わりに formatItem イベントを使用することを検討してください。 このイベントを使用すると、複数のクライアントがそれぞれ独自のハンドラをアタッチできます。
セルに有効なデータが含まれているかどうかを決定するバリデータ関数を取得または設定します。
指定される場合、バリデータ関数はセルの行と列のインデックスを含むパラメータ、およびデータが既に解析されてデータ項目に適用されているかどうか(parsing == false)、またはユーザーが値を編集しようとして予期されたデータ型に解析できない値を入力したかどうかを記述する解析パラメータ(parsing == true)を受け取ります。
このメソッドは、エラーメッセージを含む文字列を返します。エラーが検出されなかった場合はnullを返します。
次に例を示します。
grid.itemValidator = (row: number, col: number, parsing: boolean) => {
let item = grid.rows[row].dataItem,
prop = grid.columns[col].binding;
// 「解析に失敗しました」メッセージを表示します
if (parsing) {
if (prop == 'date') {
return 'Please enter a valid date in the format "MM/dd/yyyy"';
} else if (prop == 'id') {
return 'Please enter a positive number';
}
}
// 保存(解析)されたデータが有効であることを確認します
if (prop == 'date' && item.date < minDate) {
return 'Please enter a date after ' + Globalize.formatDate(minDate, 'd');
} else if (prop == 'id' && item.id < 0) {
return '正の数を入力してください。';
}
});
CollectionView.getError メソッドも参照してください。
グリッドに表示される項目を含む配列またはICollectionView を取得または設定します。
[ENTER]キーが押されたときに実行されるアクションを取得または設定します。
このプロパティの既定の設定はKeyAction.MoveDown となり、 コントロールがカーソルを次の行に移動します。 この動作は標準的なExcel式の動作です。
[Tab]キーが押されたときに実行されるアクションを取得または設定します。
このプロパティの既定の設定は、KeyAction.None となります。 これにより、Tabキーが押されたときにブラウザ上で次または前のコントロールを選択できます。これは、
ページのアクセシビリティを向上させるために推奨される設定になります。
継承された FlexSheet コントロールのデフォルト設定は KeyAction.CycleOut であることに注意してください (以下を参照)。
以前のバージョンでは、デフォルトは KeyAction.Cycle に設定されていたため、, コントロールは選択範囲をグリッドを横切って移動させていました。 これは Excel の標準的な動作ですが、アクセシビリティには適していません。
また、KeyAction.CycleOut の設定が存在します。これにより、 カーソルがセルを通じて移動(KeyAction.CycleOut )してから、 最後または最初のセルが選択されたときにページの次/前のコントロールに移動します。
グリッドでは、最後の描画サイクルで更新されたセルの描画をスキップするかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は true。
コンテンツの最大幅や高さに合わせてグリッドのサイズを調整するかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は false です。
セルの結合方法を決定するMergeManager オブジェクトを取得または設定します。
新しい行テンプレートをグリッドの上部に配置するか、下部に配置するかを示す値を取得または設定します。
newRowAtTop プロパティをtrueに設定した場合、新しい行テンプレートを常に表示したままにする場合は、 frozenRowsプロパティを 1に設定します。 これにより、新しい行テンプレートは上部に固定され、ビューからスクロールオフされなくなります。
allowAddNew プロパティがtrueに設定されている場合、および itemsSource オブジェクトが新しい項目の追加をサポートしている場合にのみ、新しい行テンプレートが表示されます。
このプロパティのデフォルト値は false です。
貼り付けるときに、すべてのセルを貼り付けるか、空のセルのみを貼り付けるかを決定する値を取得または設定します。 このプロパティのデフォルト値は true です。
データがリフレッシュされたときに、グリッドがノードの展開/折りたたみ状態を保持するかどうかを決定する値を取得または設定します。
preserveOutlineState プロパティの実装は、 JavaScriptのMap オブジェクトに基づいています。 このオブジェクトはIE 9およびIE 10で利用できません。 このプロパティのデフォルト値は true です。
データがリフレッシュされたときに、グリッドが行の選択状態を保持するかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は true。
グリッドがセル内の空白をデータに表示されるとおりに保持する(white-space: pre)
か、または空白を単一の空白文字に折りたたむ(white-space: normal)
かどうかを決定する値を取得または設定します。
このプロパティを使用すると、CSSルールを変更せずにグリッドが空白を処理する方法を指定できます。 CSSルールはスコープをより適切に制御できるため、CSSルールを使用することを選択します。
たとえば、アプリケーションのすべてのグリッド、特定のグリッド、 または特定の列に適用するCSSルールを作成できます。
このプロパティをtrueに設定すると、相互運用セルテンプレート(特にVueテンプレート)を使用する アプリケーションに望ましくない影響を与える可能性があることに注意してください。
このプロパティのデフォルト値はfalseです。
グリッドが列のサイズを自動調整するときに精度よりもパフォーマンスを最適化するかどうかを決定する値を取得または設定します。
このプロパティをfalseに設定すると、高速な自動サイズ変更機能が無効になります。 このプロパティをtrueに設定すると、 各列の wijmo.grid.Column.quickAutoSize プロパティの値に従って、高速な自動サイズ変更機能が有効になります。 このプロパティのデフォルト値はnullです。 これにより、カスタムitemFormatterまたはformatItemイベント ハンドラが割り当てられていないグリッドで、高速な自動サイズ変更機能が有効になります。
クイック自動リサイズでは、行または列を自動サイズ設定するときに さまざまな方法が使用されます。
列の自動サイズ変更では、一時的なcanvas 要素を使用することで、 可能な最大幅の列を収めることができる行が検索されます。 行が検索される場合、その内容が正確に測定されます。 この方法の制限は、キャンバスがプレーンテキストのみをレンダリングすることです。 そのため、セルにHTMLテキストが含まれている場合、 自動リサイズのときに最も幅の広い列が失われる可能性があります。
行の自動リサイズでは、セルの内容に基づいて行の高さを格納するようにキャッシュが使用され、数値セルの測定がスキップされます。 この方法の制限は、多くのセルが同じ内容である場合、または多くの列が数値である場合にのみパフォーマンスが向上することです。
自動リサイズによって、アプリケーションの動作が遅くなっている場合 quickAutoSize をtrueに設定し、アプリのパフォーマンスが向上することができます。
1つのセルが編集された後にグリッドのすべてのセルを更新するかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は true。
要素内のコントロールを右から左のレイアウトでホストするかどうかを示す値を取得します。
行ヘッダーセルを作成するために使用されるプロパティの名前を取得または設定します。
行ヘッダーセルは表示されないし、選択することもできません。 アクセシビリティツールと組み合わせて使用することを意図しています。
行ヘッダセルを含むGridPanel を取得します。
グリッドの行コレクションを取得します。
グリッドのスクロールバーの値を表すPoint を取得または設定します。
グリッド内容のサイズ(ピクセル単位)を取得します。
現在選択されているデータ項目を含む配列を取得または設定します。
メモ: このプロパティはすべての選択モードで取得できますが、SelectionMode.ListBoxに設定されている場合にのみ設定可能です。
連結されていないモードでは、行にデータ項目が関連付けられておらず、このプロパティは常に空の配列を返します。
連結モードと非連結モードの両方で選択された行のインデックスを取得するには、selection プロパティを使用します。
現在の選択範囲を表す CellRange オブジェクトを含む配列を取得または設定します。
配列内の最初の要素は現在の selectionです。 グリッドの selectionMode プロパティが SelectionMode.MultiRange に設定されている場合、 配列には拡張された選択範囲を表す追加の選択範囲が含まれる可能性があります。
selectedRanges 配列内の選択範囲には重なる領域が含まれることに注意してください。 これは、拡張した選択範囲に対する集約などのような操作を実行するときに必要になります。
現在選択されている行を含む配列を取得または設定します。
メモ: このプロパティはすべての選択モードで取得できますが、設定できるのはselectionMode がSelectionMode.ListBoxに設定されているときだけです。
FlexSheet で現在選択されているSheet を取得します。
FlexSheet で現在選択されているシートのインデックスを取得または設定します。
現在の選択を取得または設定します。
現在の選択モードを取得または設定します。
ワークブックのシートを表すSheet オブジェクトのコレクションを取得します。
グリッドがデータマップされたセルにドロップダウンボタンを追加するかどうかを示す値を取得または設定します。
これらのドロップダウンボタンは、 列にColumn.dataMap が設定され、編集可能である場合に表示されます。 ユーザーがドロップダウンボタンをクリックすると、 セルの値を選択するために使用できるドロップダウンリストがグリッドに表示されます。 この設定は、列のColumn.dataMapEditorプロパティを使用して特定の列でオーバーライドされる場合があります。
セルのドロップダウンを使用するには、wijmo.input moduleモジュールをロードしておく必要があります。
グリッドで、検証エラーがあるセルとエラーの説明を含むツールチップに'wj-state-invalid' クラスを追加するかどうかを指定する値を取得または設定します。
グリッドは、グリッドのitemsSourceのitemValidator プロパティおよびCollectionView.getError プロパティを使用して、検証エラーを検出します。
このプロパティのデフォルト値は true です。
フィルタアイコンの表示/非表示を取得または設定します。
データグループを区切るために FlexGrid にグループ行を挿入するかどうかを決定する値を 取得または設定します。
データグループを作成するには、itemsSource として使用されるICollectionView オブジェクトのICollectionView.groupDescriptions プロパティを変更します。
このプロパティのデフォルト値はtrueです。
現在の選択範囲の周囲にマーキー要素を表示するかどうかを示す値を取得または設定します。
このプロパティのデフォルト値はfalseです。
マーキーを表示する場合、グリッドにフォーカスがある場合にのみ、 単純なCSSを使用してマーキーを完全に不透明にすることにより、 アクセシビリティを向上させることができます。
.wj-flexgrid:not(.wj-state-focused) .wj-marquee {
opacity: 0.2;
}
セルを編集するときにグリッドが列ヘッダーをプレースホルダーとして使用するかどうかを 決定する値を取得または設定します。
このプロパティのデフォルト値はfalseです。
このプロパティは、データ項目ごとに複数の行があるグリッド(MultiRowグリッドなど)および 新しい項目の追加を許可するグリッド(allowAddNewプロパティを参照)で特に役立ちます。
このプロパティは、グリッドの組み込みエディタでのみ機能します。 カスタムエディタ(Column.editorプロパティを参照)を使用している場合は、 プレースホルダープロパティを設定する必要があります。
Internet Explorerブラウザーは、 フォーカスされた入力要素に入力プレースホルダーを表示しないため、 このプロパティはIEでは利用できません。
選択されているヘッダセルを示すためにクラス名を追加するかどうかを示す値を取得または設定します。
このプロパティのデフォルト値は HeadersVisibility.None です。
グリッドで、列ヘッダーにソートインジケータを 表示するかどうかを決定する値を取得または設定します。
ソートは、グリッドのitemsSource として使用されるICollectionView オブジェクトの ICollectionView.sortDescriptions プロパティによって制御されます。
このプロパティのデフォルト値はtrueです。
結合されたセルをコピーするかコピーしないかを決定する値を取得または設定します。 このプロパティのデフォルト値は false です。
FlexSheet のソートを制御するSortManager インスタンスを取得します。
ソートインジケーターを表示する列ヘッダパネルの行のインデックスを取得または設定します。
デフォルトでは、このプロパティは nullに設定されており、 columnHeaders パネルの最後の行がソート行になります。
ユーザーがドキュメントをスクロールしたときに、列ヘッダーを表示したままにするかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は false です。
コントロールに関連付けられた tabindex 属性の値を取得または設定します。
tabindex属性値は、コントロールのホストHTML要素で指定することで、 Wijmoコントロールに対して静的に定義できます。 ただし、Wijmoコントロールは複雑な構造であり、コントロールが正しく機能できるように、属性値を内部要素に伝達する必要があるため、 この値をアプリケーションのライフサイクルの後半で変更することはできません。
そのため、コントロールのtabindexを動的に読み取ったり変更したりするには、このプロパティを使用して行う必要があります。
左上のセル(列ヘッダーの左)を含むGridPanel を取得します。
異なるレベルの行グループをオフセットするインデントを取得または設定します。
このプロパティのデフォルト値は、FlexGridコントロールの場合は14ピクセル、またPivotGridコントロールの場合は32ピクセルです。
FlexSheet 元に戻す/やり直し操作を制御するUndoStack インスタンスを取得します。
検証に失敗した編集をユーザーがコミットしようとしたときに、グリッドを編集モードのままにするかどうかを指定する値を取得または設定します。
グリッドは、グリッドのitemsSource のCollectionView.getError メソッドを呼び出して、検証エラーを検出します。
このプロパティのデフォルト値は true です。
現在表示されているセルの範囲を取得します。
仮想化を有効にするために必要な最小行数、最小列数、 またはその両方を取得または設定します。
このプロパティはデフォルトでゼロに設定されます。つまり、仮想化は常に有効ということです。 これにより、バインディングパフォーマンスとメモリー必要量が向上しますが、 スクロール時のパフォーマンス低下は犠牲になります。
グリッドの行数が少ない場合(約50〜100)、このプロパティを150などのやや高い値に設定することで、 スクロールのパフォーマンスを向上させることができます。これにより、 仮想化が無効になり連結処理が遅くなりますが、認識されるスクロールのパフォーマンスが向上する可能性があります。 たとえば、以下のコードは、データソースに150を超える項目がある場合、 グリッドがセルを仮想化します。
// 150を超える項目がある場合はグリッドを仮想化します
theGrid.virtualizationThreshold = 150;
このプロパティを200より大きい値に設定することは推奨されません。 ロード処理の時間が長くなり、グリッドはすべての行のセルを作成しているときに数秒間フリーズするため、 ページ上の要素数が多いためブラウザが遅くなります。 行と列に別々の仮想化しきい値を設定する場合は、 virtualizationThreshold プロパティを2つの数値を含む配列に設定できます。この場合、 最初の数値は行のしきい値として使用され、2番目の数値は列のしきい値として使用されます。 たとえば、次のコードでは、グリッドは行を仮想化しますが、列を仮想化しません。
// 行(しきい値0)は仮想化しますが、列は仮想化しません(しきい値10,000)
theGrid.virtualizationThreshold = [0, 10000];
このプロパティのデフォルト値は 0 で、すべての行と列を仮想化します。
FlexSheet コントロールのインスタンス化に使用されるテンプレートをオーバーライドします。
列タイプに基づいて自動生成されたグリッド列のデフォルトの幅を定義する静的なオブジェクトへの参照を取得します。
オブジェクトキーは DataType 値です。 オブジェクトの値は、 数値(ピクセル単位での幅)またはスターサイズの文字列 (列のdefaultSizeプロパティで定義されているデフォルトの幅の倍数)です。
次に例を示します。
import { FlexGrid } from '@grapecity/wijmo.grid';
import { DataType } from '@grapecity/wijmo';
// デフォルトですべてのグリッドのブール列を「100px」幅にします
FlexGrid.defaultTypeWidth[DataType.Boolean] = 100;
// すべてのグリッドの数値列を列のdefaultSizeと同じ幅「75%」にします
FlexGrid.defaultTypeWidth[DataType.Number] = '0.75*';
このControl が所有する要素にイベントリスナーを追加します。
コントロールは、アタッチされているリスナーとそのハンドラのリストを保持し、 コントロール が破棄されているときにそれらを簡単に削除すること ができます(dispose と removeEventListener ) メソッドを参照してください)。
イベントリスナーを削除しないと、メモリリークが発生する可能があります。
デフォルトでは passive パラメータはfalseに設定されています。これはイベントハンドラが event.preventDefault() を呼び出すことを意味します。 タッチイベントまたはマウスホイールイベントにpassiveハンドラを追加する場合は、このパラメータをtrueに設定するとアプリケーションのパフォーマンスが向上します。
passive イベントリスナーの詳細については、「Improving scrolling performance with passive listeners」を参考してください。
イベントのターゲット要素。
イベントを指定する文字列。
イベントが発生したときに実行する関数。
リスナーがターゲット要素によって処理される前にコントロールによって処理される必要があるかどうかを示します。
ハンドラーが preventDefault() を呼び出さないことを示します。
FlexSheet にカスタム関数を追加します。
カスタム関数の名前。
カスタム関数。
関数シグネチャは次のようになります。
function (...params: any[][][]): any;
関数は可変数のパラメータをとり、各パラメータは関数の引数として渡される式に対応します。
関数の引数として渡される式が単一の値またはセル範囲に解決されるかどうかにかかわらず、
各パラメーター値は常に解決された値の2次元配列となります。 配列内の行数(
第1のインデックス)および列数(第2のインデックス)は、指定されたセル範囲のサイズに対応します。
引数が単一の値に解決される式である場合、
その値はparam[0][0]インデクサを使用して取り出すことができる1対1の配列になります。
param[0][0] indexer.
以下のコードでは、カスタムのSumproduct関数('customSumProduct')をFlexSheetに追加しています。
flexSheet.addFunction('customSumProduct', (...params: any[][][]) => { let result = 0, range1 = params[0], range2 = params[1]; if (range1.length > 0 && range1.length === range2.length && range1[0].length === range2[0].length) { for (let i = 0; i < range1.length; i++) { for (let j = 0; j < range1[0].length; j++) { result += range1[i][j] * range2[i][j]; } } } return result; }, 'Custom SumProduct Function', 2, 2);
上記の関数を追加した後は、以下のようなシートセル式で使用できます。
=customSumProduct(A1:B5, B1:C5)
カスタム関数の説明。FlexSheet の自動関数補完に表示されます。
関数が必要とするパラメータの最小数。
関数が必要とするパラメータの最大数。カスタム関数のパラメータ数が任意である場合は、minParamsCountおよびmaxParamsCountをnullに設定する必要があります。
固定された要素の合計サイズがグリッド サイズを超えないように列または行のサイズを調整します。
セルの範囲にスタイルを適用します。
適用するICellStyle オブジェクト。
スタイルを適用するCellRange オブジェクトの配列。 これを指定しない場合、現在選択されているセルにスタイルが適用されます。
適用するスタイルがプレビュー用かどうかを示します。
関数リストで選択されている関数をセル値エディタに挿入します。
コントロールの新しいインスタンスにテンプレートを適用し、ルート要素を返します。
このメソッドはテンプレート化されたコントロールのコンストラクターによって呼び出されますので、このメソッドは使用できません。 テンプレートのパーツを対応するコントロールメンバにバインドする役割を持ちます。
以下のサンプルコードは、InputNumber コントロールのインスタンスにテンプレートを適用します。 このテンプレートには、'wj-part'属性が'input'、'btn-inc'、および'btn-dec'に設定された要素を含める必要があります。 コントロールのメンバである'_tbx'、'_btnUp'、'_btnDn'には、これらの要素への参照が割り当てられます。
this.applyTemplate('wj-control wj-inputnumber', templateString, {
_tbx: 'input',
_btnUp: 'btn-inc',
_btnDn: 'btn-dec'
}, 'input');
@param classNames コントロールのホスト要素に追加するクラスの名前。 @param template コントロールのテンプレートを定義するHTML文字列。 @param parts パーツ変数とその名前のディクショナリー。 @param namePart ホスト要素にちなんで名付けられたパーツの名前。 これにより、コントロールがフォームで使用されたときにデータをどのように送信するかが決まります。
列をその内容がちょうど収まるようにサイズ変更します。
ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 列のサイズを自動的に変更することはできません。
サイズ変更する列のインデックス。
列インデックスの参照先が通常の列であるか、ヘッダ列であるか。
追加の間隔(ピクセル単位)。
列の範囲をその内容がちょうど収まるようにサイズ変更します。
測定される行の範囲は常に、現在表示されているすべての行 と 現在表示されていない最大2,000行です。 グリッドに大量のデータが含まれている場合には(たとえば、50,000行など)、 すべての行を測定すると非常に時間がかかる可能性があるため、すべての行は測定されません。
ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 列のサイズを自動的に変更することはできません。
サイズ変更する最初の列のインデックス(デフォルトは最初の列)。
サイズ変更する最後の列のインデックス(デフォルトは最後の列)。
列インデックスの参照先が通常の列であるか、ヘッダ列であるか。
追加の間隔(ピクセル単位)。
行をその内容がちょうど収まるようにサイズ変更します。
ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 列のサイズを自動的に変更することはできません。
サイズ変更する行のインデックス。
行インデックスがヘッダ行を参照していることを示す場合はtrue。通常のデータ行を参照している場合はfalse。フッタ行を参照している場合はnull。
追加の間隔(ピクセル単位)。
行の範囲をその内容がちょうど収まるようにサイズ変更します。
ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 行のサイズを自動的に変更することはできません。
サイズ変更する最初の行のインデックス。
サイズ変更する最初の行のインデックスす。
行インデックスの参照先が通常の行であるか、ヘッダ行であるか。
追加の間隔(ピクセル単位)。
次にendUpdate が呼び出されるまで通知を中断します。
指定されたセルが編集可能かどうかを示す値を取得します。
セルを含む行のインデックス。
セルを含む列のインデックス。
FlexSheetコントロールの内容をクリアします。
すべてのグループ行を指定したレベルに折りたたみます。
表示する最大のグループレベル。
関数リストを考慮に入れて、基本クラスのメソッドをオーバーライドします。
beginUpdate/endUpdate ブロック内で関数を実行します。
この関数の実行が完了するまでコントロールは更新されません。 このメソッドは、関数が例外を生成した場合でも endUpdate が呼び出されるようにします。
実行する関数。
FlexSheetコントロールの現在のSheet に列を削除します。
The starting index of the deleting columns. If not specified then columns will be deleted starting from the first column of the current selection.
The numbers of columns to delete. If not specified then one column will be deleted.
FlexSheetコントロールの現在のSheet に列を削除します。
FlexSheetコントロールの現在のSheet に行を削除します。
The starting index of the deleting rows. If not specified then rows will be deleted starting from the first row of the current selection.
The numbers of rows to delete. If not specified then one row will be deleted.
FlexSheetコントロールの現在のSheet に行を削除します。
ホスト要素との関連付けを解除することによってコントロールを破棄します。
beginUpdate の呼び出しによって中断された通知を再開します。
コントロールを無効にする必要があります。このパラメータのデフォルト値は true です。
式を評価します。
FlexSheet の式はExcelの構文に従い、Excelでサポートされている関数の大部分を含みます。 FlexSheet によってサポートされる関数の完全なリストについては、 「FlexSheetの関数」を参照してください。
評価する式。この式の先頭には、オプションで等号('=')を付けることができます。
指定する場合、評価された値に適用する.NET書式を定義します。
評価に使用されるデータを含むSheet。 指定されていない場合は、現在のシートが使用されます。
プリミティブ型以外の結果をプリミティブ型の結果に変換する必要があるかどうかを示します。
保留中の編集をすべてコミットし、編集モードを終了します。
保留中の編集をキャンセルするかコミットするか。
編集操作が正常に終了した場合は True です。
グリッド全体をスクロールしてビューに入れることなくグリッドにフォーカスを設定するようにオーバーライドされます。
グリッドに既にフォーカスが設定されている場合でも、フォーカス操作を実行するかどうか。
FlexSheetコントロールの列および行を固定または固定解除します。
組み込みテーブルスタイルを取得します。
組み込みテーブルスタイルの名前。
セル要素の範囲(ビューポート座標単位)を取得します。
このメソッドは、 cellsパネル内のセル(スクロール可能なデータセル)の範囲を返します。 その他のパネルにあるセルの範囲を取得するには、該当する GridPanel オブジェクトの getCellBoundingRect メソッドを使用してください。
戻り値は、セルの位置とサイズ(ビューポート座標単位)を 含むRect オブジェクトです。 このビューポート座標は、 getBoundingClientRectメソッドで使用されている座標と同じです。
セルを含む行のインデックス。
セルを含む列のインデックス、名前、またはバインディング。
返される矩形の単位をビューポート座標ではなく生のパネル座標にするかどうか。
グリッドのスクロール可能領域内のセルに格納された値を取得します。
セルを含む行のインデックス。
セルを含む列のインデックス、名前、またはバインディング。
値を表示用に書式設定するかどうか。
評価されたセル値を取得します。
getCellDataメソッドは生のデータ(値または数式のどちらか)を返しますが、 getCellValueメソッドはそれとは異なり、常に評価された値を返します。すなわち、セルに数式が含まれている場合は、 まず数式を評価してから結果の値が返されます。
セルの行インデックス。
セルの列インデックス。
セルの元の値または書式設定された値のどちらを返すかを示します。
評価に使用されるデータを含むSheet 。これを指定しない場合、現在のシートのデータが使用されます。
名前または連結に基づいて列を取得します。
このメソッドは、名前で列を検索します。指定された名前を持つ列が見つからない場合は、 バインディングによって検索します。検索では大文字と小文字が区別されます。
列の名前、バインディング、またはインデックス。
検索操作に列グループを含めるかどうか。
指定された名前または連結を含む列。見つからない場合はnull。
列グループのコレクションを取得します。
セルの選択状態を示すSelectedState 値を取得します。
検査するセルの行インデックス。
検査するセルの列インデックス。
選択されているセルの書式設定を記述するIFormatState オブジェクトを取得します。
書式設定のプロパティを含むIFormatStateオブジェクト。
オブジェクトが指定されたプロパティを持つかどうかを判定します。
プロパティの名前。
関数リストを閉じます。
指定されたポイントに関する情報を含むwijmo.grid.HitTestInfo オブジェクトを取得します。
次に例を示します。
// ユーザーがグリッドをクリックしたときに、ポイントをヒットテストします
flex.hostElement.addEventListener('click', (e) => {
let ht = flex.hitTest(e.pageX, e.pageY);
console.log('you clicked a cell of type "' +
wijmo.grid.CellType[ht.cellType] + '".');
});
調べるPoint (ページ座標単位)、MouseEventオブジェクト、またはポイントのX座標。
ポイントのY座標(ページ座標単位、最初のパラメーターが数値の場合)。
ポイントに関する情報を含むwijmo.grid.HitTestInfoオブジェクト。
指定したオブジェクトからプロパティをコピーしてコントロールを初期化します。
このメソッドを使用すると、各プロパティの値をコードで設定する代わりにプレーンなデータオブジェクトを使用してコントロールを初期化できます。
例:
grid.initialize({
itemsSource: myList,
autoGenerateColumns: false,
columns: [
{ binding: 'id', header: 'Code', width: 130 },
{ binding: 'name', header: 'Name', width: 60 }
]
});
// 以下と同等です。
grid.itemsSource = myList;
grid.autoGenerateColumns = false;
// など
初期化データは適用時に型チェックされます。 初期化オブジェクトに不明なプロパティ名または無効なデータ型が含まれている場合、このメソッドは例外をスローします。
初期化データを含むオブジェクト。
FlexSheetコントロールの現在のSheet に列を挿入します。
新しい列を追加する位置。 これを指定しない場合、現在選択されている範囲の一番左の列の前に列が追加されます。
追加する列数。これを指定しない場合、1列が追加されます。
FlexSheetコントロールの現在のSheet に行を挿入します。
新しい行を追加する位置。 これを指定しない場合、現在選択されている範囲の最初の行の前に行が追加されます。
追加する行数。これを指定しない場合、1行が追加されます。
非同期更新を発生させるため、コントロールを無効にします。
内容だけでなくコントロールのレイアウトも更新するかどうか。
オブジェクトが別のオブジェクトのプロトタイプチェーンに存在するかどうかを判定します。
プロトタイプチェーンが判定される別のオブジェクト。
指定したCellRangeがこのグリッドの行および列コレクションに対して有効かどうかをチェックします。
チェックする範囲。
ワークブックをFlexSheet に非同期にロードします。 このメソッドはJSZip 2.5を使用します。
次に例を示します。
// このサンプルは、[ファイルを開く]ダイアログで選択したxlsxファイルを開き、 // FlexSheetにデータを挿入します。 // HTML <input type="file" id="importFile" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> <div id="flexHost"></> // JavaScript var flexSheet = new wijmo.grid.FlexSheet("#flexHost"), importFile = document.getElementById('importFile'); importFile.addEventListener('change', function () { loadWorkbook(); }); function loadWorkbook() { var reader, file = importFile.files[0]; if (file) { reader = new FileReader(); reader.onload = function (e) { flexSheet.load(reader.result); }; reader.readAsArrayBuffer(file); } }
xlsxファイルコンテンツを含む wijmo.xlsx.Workbook、 Blob、base-64文字列、またはArrayBuffer。
ワークブックをFlexSheet に非同期にロードします。 このメソッドはJSZip 3.0を使用します。
xlsxファイルコンテンツを含む wijmo.xlsx.Workbook、 Blob、base-64文字列、またはArrayBuffer。
このコールバックは、ロードされたワークブックインスタンスをアクセスする方法を提供します。 このメソッドは非同期メソッドであるため、ユーザーはロードされたワークブックインスタンスを直ちに取得することができません。 このコールバックには、単一のパラメータ、ロードされたワークブックインスタンスが含まれます。
このコールバックは、ワークブックがロードされるときにエラー情報を捕捉します。 コールバックのパラメータには、失敗理由が含まれます。 次に例を示します。
flexsheet.loadAsync(blob, function (workbook) { // このコールバックで、ユーザーはロードされたワークブックインスタンスにアクセスできます。 var app = worksheet.application ; ... }, function (reason) { // このコールバックで、ユーザーは失敗理由を確認できます。 console.log('The reason of load failure is ' + reason); });
autoFilledイベントを発生させます。
autoFillingイベントを発生させます。
autoSizedColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
autoSizedRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
autoSizingColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
autoSizingRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
beginDroppingRowColumnイベントを発生させます。
beginningEdit イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
cellEditEnded イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
cellEditEnding イベントを発生させます。
イベントデータを含むCellEditEndingEventArgs 。
イベントがキャンセルされなかった場合は True です。
columnChangedイベントを発生させます。
columnGroupCollapsedChanged イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
columnGroupCollapsedChanging イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
copied イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
copying イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
deletedRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
deletingRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
draggedColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
draggedRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
draggingColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
draggingColumnOver イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
draggingRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
draggingRowColumnイベントを発生させます。
draggingRowOver イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
droppingRowColumnイベントを発生させます。
endDroppingRowColumnイベントを発生させます。
formatItem イベントを発生させます。
イベントデータを含むFormatItemEventArgs 。
groupCollapsedChanged イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
groupCollapsedChanging イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
invalidInput イベントを発生させます。
イベントハンドラーがイベントをキャンセルした場合、コントロールは無効な入力内容とフォーカスを保持します。
itemsSourceChanged イベントを発生させます。
itemsSourceChanging イベントを発生させます。
イベントデータを含むCancelEventArgs 。
イベントがキャンセルされなかった場合は True です。
loadedイベントを発生させます。
loadedRows イベントを発生させます。
loadingRows イベントを発生させます。
イベントデータを含むCancelEventArgs 。
イベントがキャンセルされなかった場合は True です。
pasted イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
pastedCell イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
pasting イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
pastingCell イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
pinnedColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
pinningColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
prepareCellForEdit イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
prepareChangingColumnイベントを発生させます。
prepareChangingRowイベントを発生させます。
refreshing イベントを発生させます。
resizedColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
resizedRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
resizingColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
resizingRow イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
rowAdded イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされず、新しい行が保持される場合は True です。
rowChangedイベントを発生します。
rowEditEnded イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
rowEditEnding イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
rowEditStarted イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
rowEditStarting イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
scrollPositionChanged イベントを発生させます。
currentSheetChangedイベントを発生させます。
イベントデータを含むPropertyChangedEventArgs 。
selectionChanged イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
selectionChanging イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
sheetClearedイベントを発生させます。
sortedColumn イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
starSizedColumns イベントを発生させます。
unknownFunctionイベントを発生させます。
updatedView イベントを発生させます。
updatingLayout イベントを発生させます。
イベントデータを含むCancelEventArgs 。
イベントがキャンセルされなかった場合は True です。
updatingView イベントを発生させます。
イベントデータを含むCancelEventArgs 。
イベントがキャンセルされなかった場合は True です。
指定されたプロパティが列挙可能かどうかを判断します。
プロパティの名前。
最後のユーザー操作をやり直します。
シートとTabHolderをリフレッシュするためにオーバーライドされます。
内容だけでなくコントロールのレイアウトも更新するかどうか。
グリッドの表示を更新します。
グリッドのレイアウトと内容を更新するか、内容だけを更新するか。
既存の要素を再利用するかどうか。
既存の要素を保持してその状態を更新するかどうか。
選択範囲内のセルを更新し、その内容とスタイルを更新します。
すべてのセルを更新する refreshCells メソッドとは異なり、 refreshRange ではどのセルを更新するかを指定できます。 これにより、 パフォーマンスを向上させることができます。
このControl が所有する要素にアタッチされている1つまたは複数のイベントリスナーを解除します。
イベントのターゲット要素。 nullの場合、すべてのターゲットにアタッチされているリスナーが解除されます
イベントを指定する文字列。 nullの場合、すべてのイベントにアタッチされているリスナーが解除されます。
削除するハンドラ。 nullの場合は、すべてのハンドラが削除されます。
リスナーがキャプチャリスナーかどうか。 nullの場合、キャプチャリスナーと非キャプチャリスナーの両方が解除されます。
削除されたリスナーの数。
FlexSheet をxlsxファイルに非同期に保存します。 このメソッドはJSZip 2.5を使用します。
次に例を示します。
// このサンプルは、ボタンのクリックで、FlexSheetのコンテンツをxlsxファイルにエクスポートします。 // クリック。 // HTML <button onclick="saveXlsx('FlexSheet.xlsx')"> Save </button> // JavaScript function saveXlsx(fileName) { // FlexSheetをxlsxファイルに保存します。 flexsheet.save(fileName); }
生成されるファイル名。
保存オプションを指定するIFlexSheetXlsxOptions オブジェクト。
生成されたxlsxファイルのコンテンツを含むワークブックのインスタンス。
FlexSheet をxlsxファイルに非同期に保存します。 このメソッドはJSZip 3.0を使用します。
生成されるファイル名。
このコールバックは、保存されたFlexSheetのコンテンツを表すbase64文字列を取得する方法を提供します。 このメソッドは非同期メソッドであるため、 ユーザーはbase64文字列を直ちに取得することができません。このコールバックを通じて base64文字列を取得する必要があります。 コールバックのパラメータには、保存されたflexsheetのbase64文字列が含まれます。 それがユーザーに渡されます。
このコールバックは、保存時のエラー情報を捕捉します。 コールバックのパラメータには、失敗理由が含まれます。 保存失敗の理由を確認したい場合は、この戻り値がユーザーに渡されます。 次に例を示します。
flexsheet.saveAsync('', function (base64) { // このコールバックで、ユーザーはロードされたワークブックインスタンスにアクセスできます。 document.getElementByID('export').href = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;' + 'base64,' + base64; }, function (reason) { // このコールバックで、ユーザーは失敗理由を確認できます。 console.log('The reason of save failure is ' + reason); });
保存オプションを指定するIFlexSheetXlsxOptions オブジェクト。
生成されたxlsxファイルのコンテンツを含むワークブックのインスタンス。
指定したセルが画面に入るようにグリッドをスクロールします。
負の行と列のインデックスは無視されるので、以下を呼び出すと、
grid.scrollIntoView(200, -1);
グリッドは200行目を表示するように垂直にスクロールしますが、水平にスクロールしません。
画面に入るようにスクロールする行のインデックス
画面に入るようにスクロールする列のインデックス、名前、または連結。
スクロールした新しい位置をすぐ表示するためにグリッドを更新する必要があるかどうかを決定するオプションのパラメータ。
グリッドがスクロールされた場合はTrue。
グリッド内のすべてのセルを選択します。
関数リスト内の次の関数を選択します。
関数リスト内の前の関数を選択します。
基本クラスのsetCellData関数をオーバーライドします。
セルを含む行のインデックス。
セルを含む列のインデックス、名前、またはバインディング。
セルに格納する値。
列のデータ型に合わせて値を自動的に変更するかどうか。
FlexSheetを無効にして変更を表示するかどうか。
渡された値はすでに dataMap のキー値です。 再度見つける必要はありません。
値が正常に保存された場合はtrue、それ以外の場合はfalse。
フィルタエディタを表示します。
関数リストを開きます。
関数リストの表示/非表示を切り替えるDOM要素。
指定されたセルの編集を開始します。
FlexGrid の編集は、Excelの編集によく似ています。 [F2]キーを押すか、セルをダブルクリックすると、 グリッドが完全編集モードになります。 このモードでは、ユーザーがEnter、Tab、Esc、またはいずれかの矢印キーを押すまで、 セルエディタはアクティブなままになります。 完全編集モードでは、 カーソルキーを押しても、グリッドの編集モードは終了しません。
テキストをセルに直接入力すると、グリッドはクイック編集モードになります。 このモードでは、ユーザーがEnter、Tab、Esc、またはいずれかの矢印キーを押すまで、 セルエディタはアクティブなままになります。
通常、完全編集モードは既存の値を変更する際に使用します。 クイック編集モードは新しいデータをすばやく入力する際に使用します。
編集中に[F2]キーを押すことで、完全編集モードとクイック編集モードを切り替えることができます。
ユーザーがカーソルキーを押したときも編集モードのままにするかどうか。デフォルトはtrueです。
編集する行のインデックス。 デフォルトは現在選択されている行です。
編集する列の索引、名前、または連結。 デフォルトは現在選択されている列です。
編集開始時に、エディタにフォーカスを与えるかどうか。デフォルトはtrueです。
このアクションをトリガーしたイベント(通常はキープレスまたはキーダウン)。
編集操作が正常に開始された場合は True です。
現在のロケールを使用して文字列に変換された日付を返します。
オブジェクトの文字列表現を返します。
現在選択されているセルに関連付けられたドロップダウンリストボックスの表示・非表示を切り替えます。
ドロップダウンリストは、列のColumn.dataMapプロパティに基づいて自動的に作成されます。 このメソッドでは、セルが編集モードに入ったとき、またはユーザが特定のキーを押したときに、 ドロップダウンリストを自動的に表示することができます。
たとえば、このコードでは、グリッドが編集モードに入るたびに、グリッドにドロップダウンリストが表示されます。
// グリッドが編集モードに入ると、ドロップダウンリストを表示する
theGrid.beginningEdit = () => {
theGrid.toggleDropDownList();
}
このコードでは、ユーザーがスペースバーを押した場合、グリッドが編集モードに入った後で、ドロップダウンリストが表示されます。
// ユーザーがスペースバーを押したときにドロップダウンリストを表示する
theGrid.hostElement.addEventListener('keydown', (e) => {
if (e.keyCode == 32) {
e.preventDefault();
theGrid.toggleDropDownList();
}
}, true);
最後のユーザー操作を元に戻します。
指定されたオブジェクトのプリミティブ値を返します。
数値をその対応するアルファベットに変換します。たとえば、0、1、2...をa、b、c...に変換します。
変換する数値。
HTML要素に含まれるすべてのWijmoコントロールを破棄します。
コンテナー要素。
指定したDOM要素でホストされているコントロールを取得します。
コントロールをホストするDOM要素、またはホスト要素のCSS セレクター(例: '#theCtrl')。
指定したHTML要素に含まれるすべてのWijmoコントロールを無効化します。
このメソッドは、コントロールの表示状態やサイズを変更する 動的なパネルをアプリケーションで使用している場合に使用します。 たとえば、スプリッタ、アコーディオン、およびタブコントロールは通常、 その中の要素の表示状態を変更します。この場合、その要素に含まれるコントロールに通知しないと、 それらのコントロールが適切に機能しなくなる可能性があります。 これが起こる場合は、動的コンテナーで適切なイベントを処理し、 Control.invalidateAll メソッドを呼び出してコンテナー内のWijmoコントロールの レイアウト情報が適切に更新されるようにする必要があります。
コンテナー要素。nullに設定すると、ページ上に存在するすべてのWijmoコントロールが無効化されます。
HTML要素で存在するすべてのWijmoコントロールを更新する。
コントロールが時間おいて更新される代わりに直ちに更新されること以外はinvalidateAll メソッドと同様です。
コンテナー要素。nullに設定すると、ページ上に存在するすべてのWijmoコントロールが無効化されます。
FlexSheetがオートフィルの操作を実行した後で発生します。
FlexSheetがオートフィルの操作を実行する前に発生します。
ユーザーが列ヘッダセルの右端をダブルクリックして列のサイズを自動設定した後に発生します。
ユーザーが行ヘッダセルの下端をダブルクリックして行のサイズを自動設定した後に発生します。
ユーザーが列ヘッダセルの右端をダブルクリックして列のサイズを自動設定する前に発生します。
ユーザーが行ヘッダセルの下端をダブルクリックして行のサイズを自動設定する前に発生します。
FlexSheetの行または列のドロップを開始したときに発生します。
セルが編集モードに入る前に発生します。
ハンドラーのパラメーターの 'data'プロパティには、グリッドを編集モードにさせたDOMイベントへの参照が含まれています。
このイベントハンドラでは、編集操作をキャンセルできます。
セル編集が確定またはキャンセルされたときに発生します。
セル編集が終了するときに発生します。
このイベントを使用して検証を実行し、無効な編集を防ぐことができます。 たとえば、次のコードは、ユーザーが文字「a」を含まない値を入力できないようにします。 このコードは、編集が適用される前に、編集前と編集後の値を取得する方法を示しています。
function cellEditEnding(flex, e) {
// 編集前と編集後の値を取得します
let oldVal = e.previousData,
newVal = flex.activeEditor.value;
// newValに「a」が含まれていない場合は、編集をキャンセルします
e.cancel = newVal.indexOf('a') <lt; 0;
}
CellEditEndingEventArgs.cancel パラメータをtrueに設定すると、編集された値が無視されて、 グリッドでセルの元の値が維持されます。
また、CellEditEndingEventArgs.stayInEditMode パラメータをtrueに設定すると、 グリッドの編集モードが維持され、編集をコミットする前にユーザーが無効な値を修正できます。
FlexSheet で列が挿入/削除された後に発生します。
列グループが展開または折りたたまれた後に発生します。
ハンドラーのパラメーターの 'data'プロパティには、変更されるColumnGroupへの参照が含まれています。
列グループが展開または折りたたまれる直前に発生します。
ハンドラーのパラメーターの 'data'プロパティには、変更されるColumnGroupへの参照が含まれています。
ユーザーがいずれかのクリップボードショートカットキーを押して選択されている内容をクリップボードにコピーした後に発生します(autoClipboard プロパティを参照)。
ユーザーがいずれかのクリップボードショートカットキーを押して選択されている内容をクリップボードにコピーするときに発生します(autoClipboard プロパティを参照)。
イベントハンドラでコピー操作をキャンセルできます。
ユーザーが[Del]キーを押して行を削除した後に発生します (allowDelete プロパティを参照)。
ユーザーが[Delete]キーを押して選択されている行を削除するときに発生します(allowDelete プロパティを参照)。
イベントハンドラで行の削除をキャンセルできます。
ユーザーが列のドラッグを完了したときに発生します。
ユーザーが行のドラッグを完了したときに発生します。
ユーザーが列のドラッグを開始するときに発生します。
ユーザーが列を別の位置にドラッグするときに発生します。
ハンドラは、このイベントをキャンセルして、ユーザーが特定の位置に列をドロップしないようにすることができます。 次に例を示します。
// ドラッグされている列を記憶します
flex.draggingColumn.addHandler((s, e) => {
theColumn = s.columns[e.col].binding;
});
// 'sales'列がインデックス0にドラッグされないようにします
s.draggingColumnOver.addHandler((s, e) => {
if (theColumn == 'sales' && e.col == 0) {
e.cancel = true;
}
});
ユーザーが行のドラッグを開始するときに発生します。
FlexSheet の行または列をドラッグしているときに発生します。
ユーザーが行を別の位置にドラッグするときに発生します。
FlexSheet の行または列をドロップしたときに発生します。 このイベントは非推奨になりました。代わりに beginDroppingRowColumn イベントと endDroppingRowColumn イベントを使用してください。
FlexSheetの行または列のドロップを終了したときに発生します。
セルを表す要素が作成されたときに発生します。
このイベントを使用してセルを表示用に書式設定できます。このイベントは、目的はitemFormatter プロパティと同じですが、複数の独立したハンドラを使用できる利点があります。
以下のサンプルコードは、グループ行のセルから'wj-wrap'クラスを削除します。
flex.formatItem.addHandler((flex, e) => {
if (flex.rows[e.row] instanceof GroupRow) {
wijmo.removeClass(e.cell, 'wj-wrap');
}
});
コントロールがフォーカスを取得したときに発生します。
グループが展開または折りたたまれた後に発生します。
グループが展開または折りたたまれる直前に発生します。
無効な文字が入力されたときに発生します。
ユーザーが入力した値が適切な種類に変換できない値、または有効な範囲外の値を貼り付ける場合、 無効な入力エラーが発生する場合があります。
イベントハンドラーがイベントをキャンセルする場合、 ユーザーがエラーを修正できるように、 コントロールは無効なコンテンツとフォーカスを保持します。
イベントがキャンセルされない場合、コントロールは無効な入力エラーを無視し、 元のコンテンツを保持します。
グリッドが新しい項目ソースにバインドされた後に発生します。
グリッドが新しい項目ソースにバインドされれ前に発生します。
グリッド行がデータソースの項目に連結された後に発生します。
グリッド行がデータソースの項目に連結される前に発生します。
コントロールがフォーカスを失ったときに発生します。
ユーザーがいずれかのクリップボードショートカットキーを押してクリップボードの内容を貼り付けた後に発生します(autoClipboard プロパティを参照)。
ユーザーがクリップボードの内容をセルに貼り付けた後に発生します(autoClipboard プロパティを参照)。
ハンドラのパラメーターの「data」プロパティには、新しい値が貼り付けられる前のセルの元の値が含まれます。
ユーザーがいずれかのクリップボードショートカットキーを押してクリップボードの内容を貼り付けた時に発生します(autoClipboard プロパティを参照)。
ハンドラーのパラメーターの 'data'プロパティには、グリッドに貼り付けられるテキストのコピーが含まれています。
このイベントハンドラーは、貼り付け操作をキャンセルできます。
ユーザーがクリップボードの内容をセルに貼り付けるときに発生します(autoClipboard プロパティを参照)。
ハンドラーのパラメーターの 'data'プロパティには、セルに貼り付けられるテキストが含まれています。
このイベントハンドラーは、貼り付け操作をキャンセルできます。
1つ以上の列が固定(または固定解除)された後に発生します。
1つ以上の列が固定(または固定解除)される前に発生します。
エディタセルが作成されたとき、それがアクティブになる前に発生します。
イベントハンドラは、グリッドのactiveEditorプロパティを使用してエディタの要素にアクセスできます。
FlexSheet で列が挿入/削除される前に発生します。
FlexSheet で行が挿入/削除される前に発生します。
コントロールが内容を更新した後で発生します。
コントロールが内容を更新する直前に発生します。
ユーザーが列のサイズ変更を完了したときに発生します。
ユーザーが行のサイズ変更を完了したときに発生します。
列がサイズ変更されるときに発生します。
行がサイズ変更されるときに発生します。
ユーザーが新規行テンプレートを編集して新しい項目を作成したときに発生します(allowAddNew プロパティを参照)。
イベントハンドラで新しい項目の内容をカスタマイズしたり、新しい項目の作成をキャンセルしたりできます。
FlexSheet で行が挿入/削除された後に発生します。
行編集が確定またはキャンセルされたときに発生します。
行編集が終了するとき、変更が確定またはキャンセルされる前に発生します。
このイベントをrowEditStarted イベントと組み合わせて使用して、 ディープ連結編集を元に戻す操作を実装できます。 次に例を示します。
// 編集の開始時にディープ連結値を保存します
let itemData = {};
s.rowEditStarted.addHandler((s, e) => {
let item = s.collectionView.currentEditItem;
itemData = {};
s.columns.forEach(function (col) {
if (col.binding.indexOf('.') > -1) { // deep binding
let binding = new wijmo.Binding(col.binding);
itemData[col.binding] = binding.getValue(item);
}
})
});
// 編集がキャンセルされたときにディープ連結値を復元します
s.rowEditEnded.addHandler((s, e) => {
if (e.cancel) { // 編集はユーザーによってキャンセルされました
let item = s.collectionView.currentEditItem;
for (let k in itemData) {
let binding = new wijmo.Binding(k);
binding.setValue(item, itemData[k]);
}
}
itemData = {};
});
行が編集モードに入った後に発生します。
行が編集モードに入る前に発生します。
コントロールがスクロールされた後に発生します。
現在のシートインデックスが変更されたときに発生します。
選択が変更された後に発生します。
選択が変更される前に発生します。
FlexSheet がクリアされたときに発生します。
ユーザーが列ヘッダをクリックしてソートを適用した後に発生します。
ユーザーが列ヘッダをクリックしてソートを適用する前に発生します。
ハンドラーのパラメーターの 'data'プロパティには、ソートを実行させたDOMイベントへの参照が含まれています。
このイベントハンドラーは、ソートアクションをキャンセルできます。
スター サイズにより1つ以上の列のサイズが変更されたとき。
FlexSheet で不明な式が検出されたときに発生します。
グリッドで内部レイアウトが更新された後に発生します。
グリッドが現在のビューを構成する要素の作成/更新を完了したときに発生します。
グリッドのビューは以下のような操作に応じて更新されます。
グリッドで内部レイアウトが更新される前に発生します。
現在のビューを構成する要素の作成/更新をグリッドが開始したときに発生します。
オーナーであるFlexSheet コントロールを定義します。
FlexSheet コントロールは、FlexGrid コントロールを拡張して、計算エンジン、複数シート、元に戻す/やり直し、XLSXインポート/エクスポートなど、Excelと同様の機能を提供します。
FlexSheet の計算エンジンによってサポートされる関数の完全なリストについては、 「FlexSheet Functions」を参照してください。
デモ