[]
        
(Showing Draft Content)

Wijmo_Grid_Sheet.Flexsheet

FlexSheet クラス

オーナーであるFlexSheet コントロールを定義します。

FlexSheet コントロールは、FlexGrid コントロールを拡張して、計算エンジン、複数シート、元に戻す/やり直し、XLSXインポート/エクスポートなど、Excelと同様の機能を提供します。

FlexSheet の計算エンジンによってサポートされる関数の完全なリストについては、 「FlexSheet Functions」を参照してください。

Example

階層

コンストラクタ

プロパティ

メソッド

イベント

コンストラクタ

constructor

  • new FlexSheet(element: any, options?: any): FlexSheet
  • FlexSheet クラスの新しいインスタンスを初期化します。

    引数

    • element: any

      コントロールをホストするDOM要素、またはホスト要素のCSS セレクター(例: '#theCtrl')。

    • オプション options: any

      コントロールの初期化データを含むJavaScriptオブジェクト。

    戻り値 FlexSheet

プロパティ

activeEditor

activeEditor: HTMLInputElement

現在アクティブになっているセルエディタを表すHTMLInputElementを取得します。

allowAddNew

allowAddNew: boolean

ユーザーがソースコレクションに項目を追加できるようにグリッドに新規行テンプレートを表示するかどうかを示す値を取得または設定します。

isReadOnly プロパティがtrueに設定されている場合、 新規行テンプレートは表示されません。

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

allowDelete

allowDelete: boolean

ユーザーが[Delete]キーを押したときにグリッドの選択されている行を削除するかどうかを示す値を取得または設定します。

isReadOnly プロパティがtrueに設定されている場合、選択されている行は削除されません。

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

allowDragging

allowDragging: AllowDragging

ユーザーがマウスを使用して行、列、またはその両方をドラッグできるかどうかを決定する値を取得または設定します。

autoScroll プロパティがtrueに設定されている場合、ユーザーが行または列を新しい位置に ドラッグするときにグリッドの内容が自動的にスクロールされます。

グリッドでは、列のドラッグがデフォルトで有効になっています。

グリッドが連結モードでは、行をドラッグするには特別な 考慮が必要になります。

グリッドが連結モードでは、行をドラッグするとデータソースとの同期が失われます (たとえば行4は6行として参照されることがあります)。 これを回避するには、draggedRow イベントを処理し、データを新しい行の位置と同期させる必要があります。

また、allowSorting プロパティをfalseに設定する必要があります。 そうしないと、行の順序がデータによって決定され、行をドラッグするのは無意味になります。

次のフィドルでは、連結グリッドでの行のドラッグを実行しています。 Bound Row Dragging.

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

allowMerging

allowMerging: AllowMerging

グリッドのどの部分のセル結合を許可するかを取得または設定します。

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

allowResizing

allowResizing: AllowResizing

ユーザーがマウスを使用して行、列、またはその両方をサイズ変更できるかどうかを決定する値を取得または設定します。

サイズ変更が可能な場合は、列ヘッダーセルの右端をドラッグして列を、 行ヘッダーセルの下端をドラッグして行をサイズ変更できます。

ヘッダーセルの端をダブルクリックして、 行および列をコンテンツに合わせて自動的にサイズ変更することもできます。 自動サイズ変更の動作は、autoSizeMode プロパティを使用してカスタマイズできます。

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

allowSorting

allowSorting: boolean

ユーザーが列ヘッダーセルをクリックして列をソートできるかどうかを決定する値を取得または設定します。

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

alternatingRowStep

alternatingRowStep: number

「交互行」の間の通常行の数を決定する値を取得または設定します。

このプロパティのデフォルト値は 1です。 交互行を無効にするには0に設定し、 交互行の間に複数の通常の行を挿入するには、1より大きい数値に設定します。

anchorCursor

anchorCursor: boolean

マウスまたはキーボードで選択範囲を広げる時、現在の選択範囲の開始位置(カーソル)と終了位置のどちらを変更するかを決定する値を取得または設定します。

このプロパティのデフォルト値は falseです。これにより、 グリッド上にカーソルが移動され、選択範囲が固定されたままになります。

このプロパティが true に設定されている場合、 グリッド上に選択範囲が移動され、カーソルが固定されたままになります。 本動作はExcelと同じです。

autoClipboard

autoClipboard: boolean

グリッドがクリップボードショートカットを処理するかどうかを決定する値を取得または設定します。

次のクリップボードショートカットがあります。

[Ctrl]+[C]、[Ctrl]+[Ins]
グリッドの選択範囲をクリップボードにコピーします
[Ctrl]+[V]、[Shift]+[Ins]
クリップボードのテキストをグリッドの選択範囲に貼り付けます。

クリップボード操作は、表示されている行および列だけが対象となります。

読み取り専用セルは貼り付け操作の影響を受けません。

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

autoGenerateColumns

autoGenerateColumns: boolean

グリッドがitemsSource に基づいて列を自動的に 生成するかどうかを 決定する値を取得または設定します。

列の生成は、少なくとも1項目を含む itemsSource プロパティに依存します。 このデータ項目が検査され、列が作成されて、 プリミティブ値(数値、文字列、Boolean、またはDate)を含むプロパティに連結されます。

プロパティをnullに設定すると、適切なタイプを推測する方法がないため、 列は生成されません。このような場合は、 autoGenerateColumns プロパティをfalseに設定し、明示的に列を作成する必要があります。次に例を示します。

pre>var grid = new wijmo.grid.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 });/pre>

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

autoScroll

autoScroll: boolean

ユーザーが行または列を新しい位置にドラッグするときにグリッドの内容が自動的にスクロールされるかどうかを決定する値を取得または設定します。

行と列のドラッグは、allowDragging プロパティによって制御されます。

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

autoSearch

autoSearch: boolean

ユーザーが読み取り専用セルに入力するに伴ってグリッドでセルを検索するかどうかを決定する値を取得または設定します。

検索が現在選択されている列(編集不可能な場合)で行われます。 検索は現在選択されている行から始まり、大文字と小文字を区別されません。

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

autoSizeMode

autoSizeMode: AutoSizeMode

行または列のサイズを自動設定するときにどのセルを考慮に入れるかを取得または設定します。

このプロパティは、ユーザーが列ヘッダの端をダブルクリックしたときの動作を制御します。

デフォルトでは、その列のヘッダセルとデータセルの内容に基づいて 列の幅が自動的に設定されます。 このプロパティを使用すると、 ヘッダのみまたはデータのみに基づいて列の幅を設定するように変更できます。

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

bottomLeftCells

bottomLeftCells: GridPanel

左下のセルを含むGridPanel を取得します。

bottomLeftCells パネルは、行ヘッダの下、columnFooters パネルの左に表示されます。

cellFactory

cellFactory: CellFactory

このグリッドのセルを作成および更新するCellFactory を取得または設定します。

cells

cells: GridPanel

データセルを含むGridPanel を取得します。

childItemsPath

childItemsPath: any

階層グリッドで子の行の生成に使用される1つ以上のプロパティの名前を取得または設定します。

このプロパティには、項目の子項目を含むプロパティの名前を指定する文字列を設定します (たとえば、 childItemsPath = 'items';)。

項目の異なるレベルに異なる名前を持つ子項目がある場合は、 このプロパティに、各レベルの子項目を含むプロパティの名前から成る配列を設定します。 (たとえば、. childItemsPath = ['checks','earnings'];)。

Example

clientSize

clientSize: Size

コントロールのクライアントサイズを取得します(コントロールのサイズからヘッダーとスクロールバーを引いた値)。

cloneFrozenCells

cloneFrozenCells: boolean

スクロール中のちらつきを減らすために、FlexGridがフリーズされたセルを複製し、 別の要素に表示するかどうかを決定する値を取得または設定します。

このプロパティのデフォルト値は null です。これにより、 グリッドでブラウザに応じて最適な設定が適用されます。

collectionView

collectionView: ICollectionView

グリッドデータを含むICollectionView を取得します。

itemsSource プロパティが ICollectionViewに設定されている場合、 このプロパティはその値を返します。

itemsSource プロパティがデータ項目の配列に設定されている場合、 このプロパティは編集およびソートをサポートするために グリッドによって作成された内部 CollectionView を返します。

columnFooters

columnFooters: GridPanel

列フッターセルを保持するGridPanel を取得します。

columnFooters パネルは、グリッドセルの下、 bottomLeftCells パネルの右に表示されます。 これを使用して、 グリッドデータの下にサマリー情報を表示できます。 以下の例では、columnFooters パネルに 1行を追加して、Column.aggregate プロパティが設定された列に サマリーデータを表示する方法を示します。

function addFooterRow(flex) {
  // 集計を表示するGroupRowを作成します
  var row = new wijmo.grid.GroupRow();

  // 列フッターパネルに行を追加します
  flex.columnFooters.rows.push(row);

  // ヘッダーにシグマを表示します
  flex.bottomLeftCells.setCellData(0, 0, '\u03A3');
}

columnHeaders

columnHeaders: GridPanel

列ヘッダセルを含むGridPanel を取得します。

columnLayout

columnLayout: string

現在の列レイアウトを定義するJSON文字列を取得または設定します。

列レイアウト文字列は、列とそのプロパティを含む配列を表します。 これを使用して、ユーザーが定義した列レイアウトをセッションを越えて保持できます。 また、ユーザーが列レイアウトを変更できるアプリケーションで元に戻す/やり直し機能を実装することもできます。

データマップはシリアル化できないため、列レイアウト文字列に dataMap プロパティは含まれていません。

columns

グリッドの列コレクションを取得します。

controlRect

controlRect: Rect

コントロールの外接矩形(ページ座標単位)を取得します。

deferResizing

deferResizing: boolean

ユーザーがマウスボタンを放すまで、行および列のサイズ変更を遅らせるかどうかを決定する値を取得または設定します。

デフォルトでは、deferResizing はfalseに設定されており、 ユーザーがマウスをドラッグするに伴って行および列がサイズ変更されます。 このプロパティをtrueに設定すると、 グリッドにサイズ変更マーカーが表示され、 ユーザーがマウスボタンを放したときに初めて行または列のサイズが変更されます。

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

definedNames

definedNames: ObservableArray

FlexSheet で定義された名前付き範囲または名前付き式を表す!see:IDefinedName オブジェクトの配列を取得します。

editColumnIndex

editColumnIndex: number

項目が編集されているかどうかを示す行ヘッダパネル内の列のインデックスを取得または設定します。

このプロパティのデフォルト値は null です。これにより、 グリッドで rowHeaders パネルの最後の列に編集中のグリフが表示されます。

editRange

editRange: CellRange

現在編集中のセルを識別するCellRange を取得します。

editableCollectionView

editableCollectionView: IEditableCollectionView

グリッドデータを含むIEditableCollectionView を取得します。

enableDragDrop

enableDragDrop: boolean

シートで行または列のドラッグアンドドロップを有効にするかどうかを示す値を取得または設定します。

enableFormulas

enableFormulas: boolean

シートで数式を有効にするかどうかを示す値を取得または設定します。

errorTip

errorTip: Tooltip

showErrors プロパティがtrueに設定されているときにグリッドで検出された検証エラーを表示するために使用される Tooltip オブジェクトを取得または設定します。

デフォルトでは、このプロパティにツールチップが表示されるまでの遅延が0で (無効なセル上にマウスをホバーするとツールチップがすぐに表示される)、 HTML要素が含まれない、およびツールチップの外観を カスタマイズするための "wj-error-tip"クラスが含まれています。

このプロパティをnullに設定されている場合、 コントロールはセルの "title"属性を使用して検証エラーを表示します。

filter

FlexSheet のフィルタリングを制御する!see:FlexSheetFilter インスタンスを取得します。.

frozenColumns

frozenColumns: number

固定列の数を取得または設定します。

固定された列は水平方向にスクロールできませんが、セルは選択および編集できます。

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

frozenRows

frozenRows: number

固定行の数を取得または設定します。

固定された行は垂直方向にスクロールできませんが、セルは選択および編集できます。

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

groupHeaderFormat

groupHeaderFormat: string

グループヘッダーコンテンツを作成するために使用される書式文字列を取得または設定します。

この文字列は、任意のテキストと次の置換文字列を含むことができます。

  • {name}: グループ化されるプロパティの名前。
  • {value}: グループ化されるプロパティの値。
  • {level}: グループレベル。
  • {count}: このグループ内にある項目の合計数。

列がグループ化プロパティに連結されている場合は、列ヘッダーを使用して {name} パラメータを置換し、列の書式とデータマップを使用して {value} パラメータを計算します。 列がない場合は、代わりにグループ情報が使用されます。

グループプロパティに連結された非表示の列を追加して、グループヘッダーセルの書式設定をカスタマイズすることもできます。

このプロパティのデフォルト値は
'{name}: <b>{value}</b>({count:n0} items)'です。 これは、
'Country: UK (12 items)'
'Country: Japan (8 items)'のようなグループヘッダーを作成します。

headersVisibility

headersVisibility: HeadersVisibility

行ヘッダおよび列ヘッダが表示されるかどうかを決定する値を取得または設定します。

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

hostElement

hostElement: HTMLElement

コントロールをホストしているDOM要素を取得します。

imeEnabled

imeEnabled: boolean

編集モードでないときに、グリッドがIME(Input Method Editor)をサポートするかどうかを決定する値を取得または設定します。

このプロパティは、日本語、中国語、韓国語など、IMEサポートを必要とする言語のサイト/アプリケーションにのみ関係します。

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

isDisabled

isDisabled: boolean

コントロールが無効かどうかを判定する値を取得または設定します。

無効化されたコントロールは、マウスイベントやキーボードイベントを取得できません。

isFunctionListOpen

isFunctionListOpen: boolean

関数リストが開いているかどうかを示す値を取得します。

isReadOnly

isReadOnly: boolean

ユーザーがマウスとキーボードを使用してセル値を変更できるかどうかを判定する値を取得または設定します。

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

isTabHolderVisible

isTabHolderVisible: boolean

TabHolderが表示されているかどうかを示す値を取得または設定します。

isTouching

isTouching: boolean

現在、コントロールがタッチイベントを処理しているかどうかを示す値を取得します。

isUpdating

isUpdating: boolean

コントロールが現在更新中かどうかを示す値を取得します。

itemFormatter

itemFormatter: Function

このグリッドのセルのカスタマイズに使用されるフォーマッター関数を取得または設定します。

このフォーマッター関数は、任意のセルに任意の内容を追加できます。 そのため、グリッドセルの外観と動作を非常に柔軟に制御することが可能です。

指定される場合この関数は、セルを含む GridPanel 、セルの行インデックスと列インデックス、セルを表すHTML要素の4つのパラメーターをとります。 通常は、関数内でセル要素の innerHTML プロパティを変更するようにします。

例:

flex.itemFormatter = function(panel, r, c, cell) {
  if (panel.cellType == CellType.Cell) {
    // セルにスパークラインを描画します
    var col = panel.columns[c];
    if (col.name == 'sparklines') {
      cell.innerHTML = getSparklike(panel, r, c);
    }
  }
}

FlexGridはセルをリサイクルするため、 itemFormatter によってセルのスタイル属性を変更する場合は、 セルの適切でないスタイル属性を事前にリセットする必要があります。 例:

flex.itemFormatter = function(panel, r, c, cell) {
  // カスタマイズする属性をリセットします
  var s = cell.style;
  s.color = '';
  s.backgroundColor = '';
  // このセルのcolorおよびbackgroundColor属性をカスタマイズします
  ...
}

複数のクライアントがグリッドのレンダリングをカスタマイズできるようにする場合は(たとえば、ディレクティブや再利用可能なライブラリを作成するときなど)、 代わりに formatItem イベントを使用することを検討してください。 このイベントを使用すると、複数のクライアントがそれぞれ独自のハンドラをアタッチできます。

itemValidator

itemValidator: Function

セルに有効なデータが含まれているかどうかを決定するバリデータ関数を取得または設定します。

指定された場合、バリデータ関数はセルの行インデックスと列インデックスを含む2つのパラメータをとり、 エラーの説明を含む文字列を返す必要があります。

このプロパティは、バインドされていないグリッドを処理する場合に特に便利です。 バインドされたグリッドは、代わりにCollectionView.getError プロパティを使用して検証できます。

この例では、セルのすぐ上のセルと同じデータがセルに含まれないようにする方法を示します。

// 上のセルは、現在のセルと同じ値が含まれていないことを確認します
theGrid.itemValidator = function (row, col) {
  if (row > 0) {
    var valThis = theGrid.getCellData(row, col, false),
        valPrev = theGrid.getCellData(row - 1, col, false);
    if (valThis != null && valThis == valPrev) {
      return 'これは重複した値です...''
    }
  }
  return null; // エラーなし
}

itemsSource

itemsSource: any

グリッドに表示される項目を含む配列またはICollectionView を取得または設定します。

keyActionEnter

keyActionEnter: KeyAction

[ENTER]キーが押されたときに実行されるアクションを取得または設定します。

このプロパティの既定の設定はKeyAction.MoveDown となり、 コントロールがカーソルを次の行に移動します。 この動作は標準的なExcel式の動作です。

keyActionTab

keyActionTab: KeyAction

[Tab]キーが押されたときに実行されるアクションを取得または設定します。

このプロパティの既定の設定は、KeyAction.None となります。 これにより、Tabキーが押されたときにブラウザ上で次または前のコントロールを選択できます。これは、

ページのアクセシビリティを向上させるために推奨される設定になります。

以前のバージョンでは、デフォルトはKeyAction.Cycle に設定されていました。 これにより、コントロールがカーソルを、グリッドを横切って下部に移動しました。 これは標準的なExcelの動作ですが、アクセシビリティには適していません。

また、KeyAction.CycleOut の設定が存在します。これにより、 カーソルがセルを通じて移動(KeyAction.CycleOut )してから、 最後または最初のセルが選択されたときにページの次/前のコントロールに移動します。

mergeManager

mergeManager: MergeManager

セルの結合方法を決定するMergeManager オブジェクトを取得または設定します。

newRowAtTop

newRowAtTop: boolean

新しい行テンプレートをグリッドの上部に配置するか、下部に配置するかを示す値を取得または設定します。

newRowAtTop プロパティをtrueに設定した場合、新しい行テンプレートを常に表示したままにする場合は、 frozenRowsプロパティを 1に設定します。 これにより、新しい行テンプレートは上部に固定され、ビューからスクロールオフされなくなります。

allowAddNew プロパティがtrueに設定されている場合、および itemsSource オブジェクトが新しい項目の追加をサポートしている場合にのみ、新しい行テンプレートが表示されます。

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

preserveOutlineState

preserveOutlineState: boolean

データがリフレッシュされたときに、 グリッドがノードの展開/折りたたみ状態を保持するかどうかを決定する値を取得または設定します。

preserveOutlineState プロパティの実装は、 JavaScriptの{@link Map} オブジェクトに基づいています。 このオブジェクトはIE 9およびIE 10で利用できません。 このプロパティのデフォルト値は true です。

preserveSelectedState

preserveSelectedState: boolean

データがリフレッシュされたときに、 グリッドが行の選択状態を保持するかどうかを決定する値を取得または設定します。

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

quickAutoSize

quickAutoSize: boolean

グリッドが列のサイズを自動調整するときに精度よりもパフォーマンスを最適化するかどうかを決定する値を取得または設定します。

このプロパティをfalseに設定すると、この列の自動リサイズ処理が無効になります。 このプロパティをtrueに設定すると、 各列のwijmo.grid.Column.quickAutoSize プロパティの値に従って、その機能が有効になります。 null(デフォルト値)に設定した場合、 カスタムのitemFormatter を持たないグリッドの機能、 またはformatItem イベントにアタッチされたハンドラの機能が有効になります。

rightToLeft

rightToLeft: boolean

要素内のコントロールを右から左のレイアウトでホストするかどうかを示す値を取得します。

rowHeaderPath

rowHeaderPath: string

行ヘッダーセルを作成するために使用されるプロパティの名前を取得または設定します。

行ヘッダーセルは表示されないし、選択することもできません。 アクセシビリティツールと組み合わせて使用することを意図しています。

rowHeaders

rowHeaders: GridPanel

行ヘッダセルを含むGridPanel を取得します。

rows

グリッドの行コレクションを取得します。

scrollPosition

scrollPosition: Point

リッドのスクロールバーの値を表すPoint を取得または設定します。

scrollSize

scrollSize: Size

グリッド内容のサイズ(ピクセル単位)を取得します。

selectedItems

selectedItems: any[]

現在選択されているデータ項目を含む配列を取得または設定します。

メモ: このプロパティはすべての選択モードで取得できますが、設定できるのはselectionModeSelectionMode.ListBox に設定されているときだけです。

selectedRows

selectedRows: any[]

現在選択されている行を含む配列を取得または設定します。

メモ: このプロパティはすべての選択モードで取得できますが、設定できるのはselectionModeSelectionMode.ListBox に設定されているときだけです。

selectedSheet

selectedSheet: Sheet

FlexSheet 現在選択されているSheet を取得します。

selectedSheetIndex

selectedSheetIndex: number

FlexSheet で現在選択されているシートのインデックスを取得または設定します。

selection

selection: CellRange

現在の選択を取得または設定します。

selectionMode

selectionMode: SelectionMode

現在の選択モードを取得または設定します。

sheets

ワークブックのシートを表すSheet オブジェクトのコレクションを取得します。

showDropDown

showDropDown: boolean

グリッドで、Column.showDropDown プロパティがtrueに 設定されている列のセルにドロップダウンボタンを追加するかどうかを示す値を 取得または設定します。

これらのドロップダウンボタンは、 列にColumn.dataMap が設定され、編集可能である場合にのみ表示されます。 ユーザーがドロップダウンボタンをクリックすると、 セルの値を選択するために使用できるリストがグリッドに表示されます。

セルのドロップダウンを使用するには、wijmo.inputモジュールをロードしておく必要があります。

showErrors

showErrors: boolean

グリッドで、検証エラーがあるセルとエラーの説明を含むツールチップに'wj-state-invalid' クラスを追加するかどうかを指定する値を取得または設定します。

グリッドは、グリッドのitemsSourceitemValidator プロパティおよびCollectionView.getError プロパティを使用して、検証エラーを検出します。

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

showFilterIcons

showFilterIcons: boolean

フィルタアイコンの表示/非表示を取得または設定します。

showGroups

showGroups: boolean

データグループを区切るために FlexGrid にグループ行を挿入するかどうかを決定する値を 取得または設定します。

データグループを作成するには、itemsSource として使用されるICollectionView オブジェクトのICollectionView.groupDescriptions プロパティを変更します。

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

showMarquee

showMarquee: boolean

現在の選択範囲の周囲にマーキー要素を表示するかどうかを示す値を取得または設定します。

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

showSelectedHeaders

showSelectedHeaders: HeadersVisibility

選択されているヘッダセルを示すためにクラス名を追加するかどうかを示す値を取得または設定します。

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

showSort

showSort: boolean

グリッドで、列ヘッダーにソートインジケータを 表示するかどうかを決定する値を取得または設定します。

ソートは、グリッドのitemsSource として使用されるICollectionView オブジェクトの ICollectionView.sortDescriptions プロパティによって制御されます。

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

sortManager

sortManager: SortManager

FlexSheet のソートを制御する!see:SortManager インスタンスを取得します。

sortRowIndex

sortRowIndex: number

ソートインジケーターを表示する列ヘッダパネルの行のインデックスを取得または設定します。

デフォルトでは、このプロパティは nullに設定されており、 columnHeaders パネルの最後の行がソート行になります。

stickyHeaders

stickyHeaders: boolean

ユーザーがドキュメントをスクロールしたときに、 列ヘッダーを表示したままにするかどうかを決定する値を取得または設定します。

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

topLeftCells

topLeftCells: GridPanel

左上のセル(列ヘッダーの左)を含むGridPanel を取得します。

treeIndent

treeIndent: number

異なるレベルの行グループをオフセットするインデントを取得または設定します。

undoStack

undoStack: UndoStack

FlexSheet 元に戻す/やり直し操作を制御するUndoStack インスタンスを取得します。

validateEdits

validateEdits: boolean

検証に失敗した編集をユーザーがコミットしようとしたときに、グリッドを編集モードのままにするかどうかを指定する値を取得または設定します。

グリッドは、グリッドのitemsSourceCollectionView.getError メソッドを呼び出して、検証エラーを検出します。

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

viewRange

viewRange: CellRange

現在表示されているセルの範囲を取得します。

virtualizationThreshold

virtualizationThreshold: any

仮想化を有効にするために必要な最小行数、最小列数、 またはその両方を取得または設定します。

このプロパティはデフォルトでゼロに設定されます。つまり、仮想化は常に有効ということです。 これにより、バインディングパフォーマンスとメモリー必要量が向上しますが、 スクロール時のパフォーマンス低下は犠牲になります。

グリッドの行数が少ない場合(約50〜100)、このプロパティを150などのやや高い値に設定することで、 スクロールのパフォーマンスを向上させることができます。これにより、 仮想化が無効になり連結処理が遅くなりますが、認識されるスクロールのパフォーマンスが向上する可能性があります。 たとえば、以下のコードは、データソースに150を超える項目がある場合、 グリッドがセルを仮想化します。

// 150を超える項目がある場合はグリッドを仮想化します
theGrid.virtualizationThreshold = 150;

このプロパティを200より大きい値に設定することは推奨されません。 ロード処理の時間が長くなり、グリッドはすべての行のセルを作成しているときに数秒間フリーズするため、 ページ上の要素数が多いためブラウザが遅くなります。 行と列に別々の仮想化しきい値を設定する場合は、 virtualizationThreshold プロパティを2つの数値を含む配列に設定できます。この場合、 最初の数値は行のしきい値として使用され、2番目の数値は列のしきい値として使用されます。 たとえば、次のコードでは、グリッドは行を仮想化しますが、列を仮想化しません。

// 行(しきい値0)は仮想化しますが、列は仮想化しません(しきい値10,000)
theGrid.virtualizationThreshold = [0, 10000];

このプロパティのデフォルト値は 0 で、すべての行と列を仮想化します。

静的 controlTemplate

controlTemplate: string

FlexSheet コントロールのインスタンス化に使用されるテンプレートをオーバーライドします。

メソッド

addBoundSheet

  • addBoundSheet(sheetName: string, source: any, pos?: number, grid?: FlexGrid): Sheet
  • バインドされたSheetFlexSheetに追加します。

    引数

    • sheetName: string

      Sheet の名前。

    • source: any

      Sheet の項目ソース。

    • オプション pos: number

      sheets コレクション内の位置。

    • オプション grid: FlexGrid

      Sheet に関連付けるFlexGrid インスタンス。 これを指定しない場合、新しいFlexGrid インスタンスが作成されます。

    戻り値 Sheet

addEventListener

  • addEventListener(target: EventTarget, type: string, fn: any, capture?: boolean, passive?: boolean): void
  • このControl が所有する要素にイベントリスナーを追加します。

    コントロールは、アタッチされているリスナーとそのハンドラのリストを保持し、 コントロール が破棄されているときにそれらを簡単に削除すること ができます(disposeremoveEventListener ) メソッドを参照してください)。

    イベントリスナーを削除しないと、メモリリークが発生する可能があります。

    デフォルトでは passive パラメータはfalseに設定されています。これはイベントハンドラが event.preventDefault() を呼び出すことを意味します。 タッチイベントまたはマウスホイールイベントにpassiveハンドラを追加する場合は、このパラメータをtrueに設定するとアプリケーションのパフォーマンスが向上します。

    passive イベントリスナーの詳細については、「Improving scrolling performance with passive listeners」を参考してください。

    引数

    • target: EventTarget

      イベントのターゲット要素。

    • type: string

      イベントを指定する文字列。

    • fn: any

      イベントが発生したときに実行する関数。

    • オプション capture: boolean

      リスナーがターゲット要素によって処理される前にコントロールによって処理される必要があるかどうかを示します。

    • オプション passive: boolean

      ハンドラーが preventDefault() を呼び出さないことを示します。

    戻り値 void

addFunction

  • addFunction(name: string, func: Function, description?: string, minParamsCount?: number, maxParamsCount?: number): void
  • FlexSheet にカスタム関数を追加します。

    引数

    • name: string

      カスタム関数の名前。

    • func: Function

      カスタム関数。
      関数シグネチャは次のようになります。

      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)
    • オプション description: string

      カスタム関数の説明。FlexSheet の自動関数補完に表示されます。

    • オプション minParamsCount: number

      関数が必要とするパラメータの最小数。

    • オプション maxParamsCount: number

      関数が必要とするパラメータの最大数。カスタム関数のパラメータ数が任意である場合は、minParamsCountおよびmaxParamsCountをnullに設定する必要があります。

    戻り値 void

addUnboundSheet

  • addUnboundSheet(sheetName?: string, rows?: number, cols?: number, pos?: number, grid?: FlexGrid): Sheet
  • バインドされていないSheetFlexSheetに追加します。

    引数

    • オプション sheetName: string

      Sheetの名前。

    • オプション rows: number

      Sheetの行数。

    • オプション cols: number

      Sheetの列数。

    • オプション pos: number

      sheets コレクション内の位置。

    • オプション grid: FlexGrid

      Sheet に関連付けるFlexGrid インスタンス。 これを指定しない場合、新しいFlexGrid インスタンスが作成されます。

    戻り値 Sheet

applyCellsStyle

  • セルの範囲にスタイルを適用します。

    引数

    • cellStyle: ICellStyle

      適用するICellStyle オブジェクト。

    • オプション cells: CellRange[]

      スタイルを適用するCellRange オブジェクトの配列。 これを指定しない場合、現在選択されているセルにスタイルが適用されます。

    • オプション isPreview: boolean

      適用するスタイルがプレビュー用かどうかを示します。

    戻り値 void

applyFunctionToCell

  • applyFunctionToCell(): void
  • 関数リストで選択されている関数をセル値エディタに挿入します。

    戻り値 void

applyTemplate

  • applyTemplate(classNames: string, template: string, parts: Object, namePart?: string): HTMLElement
  • コントロールの新しいインスタンスにテンプレートを適用し、ルート要素を返します。

    このメソッドはテンプレート化されたコントロールのコンストラクターによって呼び出され、 テンプレートのパーツを対応するコントロールメンバにバインドする役割を持ちます。 以下のサンプルコードは、InputNumber コントロールのインスタンスにテンプレートを適用します。 このテンプレートには、'wj-part'属性が'input'、'btn-inc'、および'btn-dec'に設定された要素を含める必要があります。 コントロールのメンバである'_tbx'、'_btnUp'、'_btnDn'には、これらの要素への参照が割り当てられます。

    this.applyTemplate('wj-control wj-inputnumber', template, {
      _tbx: 'input',
      _btnUp: 'btn-inc',
      _btnDn: 'btn-dec'
    }, 'input');

    引数

    • classNames: string

      コントロールのホスト要素に追加するクラスの名前。

    • template: string

      コントロールのテンプレートを定義するHTML文字列。

    • parts: Object

      パーツ変数とその名前のディクショナリー。

    • オプション namePart: string

      ホスト要素にちなんで名付けられたパーツの名前。 これにより、コントロールがフォームで使用されたときにデータをどのように送信するかが決まります。

    戻り値 HTMLElement

autoSizeColumn

  • autoSizeColumn(c: number, header?: boolean, extra?: number): void
  • 列をその内容がちょうど収まるようにサイズ変更します。

    ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 列のサイズを自動的に変更することはできません。

    引数

    • c: number

      サイズ変更する列のインデックス。

    • オプション header: boolean

      列インデックスの参照先が通常の列であるか、ヘッダ列であるか。

    • オプション extra: number

      追加の間隔(ピクセル単位)。

    戻り値 void

autoSizeColumns

  • autoSizeColumns(firstColumn?: number, lastColumn?: number, header?: boolean, extra?: number): void
  • 列の範囲をその内容がちょうど収まるようにサイズ変更します。

    測定される行の範囲は常に、現在表示されているすべての行 + 現在表示されていない最大2,000行です。 If the grid contains a large amount グリッドに大量のデータが含まれている場合には(たとえば、50,000行など)、 すべての行を測定すると非常に時間がかかる可能性があるため、すべての行は測定されません。

    ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 列のサイズを自動的に変更することはできません。

    引数

    • オプション firstColumn: number

      サイズ変更する最初の列のインデックス(デフォルトは最初の列)。

    • オプション lastColumn: number

      サイズ変更する最後の列のインデックス(デフォルトは最後の列)。

    • オプション header: boolean

      列インデックスの参照先が通常の列であるか、ヘッダ列であるか。

    • オプション extra: number

      追加の間隔(ピクセル単位)。

    戻り値 void

autoSizeRow

  • autoSizeRow(r: number, header?: boolean, extra?: number): void
  • 行をその内容がちょうど収まるようにサイズ変更します。

    ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 列のサイズを自動的に変更することはできません。

    引数

    • r: number

      サイズ変更する行のインデックス。

    • オプション header: boolean

      行インデックスの参照先が通常の列であるか、ヘッダ行であるか。

    • オプション extra: number

      追加の間隔(ピクセル単位)。

    戻り値 void

autoSizeRows

  • autoSizeRows(firstRow?: number, lastRow?: number, header?: boolean, extra?: number): void
  • 行の範囲をその内容がちょうど収まるようにサイズ変更します。

    ホスト要素がDOMに追加されていない場合、 またはグリッドの祖先要素が非表示の場合、 グリッドはセルを測定することができませんので、 列のサイズを自動的に変更することはできません。

    引数

    • オプション firstRow: number

      サイズ変更する最初の行のインデックス。

    • オプション lastRow: number

      サイズ変更する最初の行のインデックスす。

    • オプション header: boolean

      行インデックスの参照先が通常の行であるか、ヘッダ行であるか。

    • オプション extra: number

      追加の間隔(ピクセル単位)。

    戻り値 void

beginUpdate

  • beginUpdate(): void

canEditCell

  • canEditCell(r: number, c: number): boolean
  • 指定されたセルが編集可能かどうかを示す値を取得します。

    引数

    • r: number

      セルを含む行のインデックス。

    • c: number

      セルを含む列のインデックス。

    戻り値 boolean

clear

  • clear(): void
  • FlexSheetコントロールの内容をクリアします。

    戻り値 void

collapseGroupsToLevel

  • collapseGroupsToLevel(level: number): void
  • すべてのグループ行を指定したレベルに折りたたみます。

    引数

    • level: number

      表示する最大のグループレベル。

    戻り値 void

containsFocus

  • containsFocus(): boolean
  • 関数リストを考慮に入れて、基本クラスのメソッドをオーバーライドします。

    戻り値 boolean

deferUpdate

  • deferUpdate(fn: Function): void
  • beginUpdate/endUpdate ブロック内で関数を実行します。

    この関数の実行が完了するまでコントロールは更新されません。 このメソッドは、関数が例外を生成した場合でも endUpdate が呼び出されるようにします。

    引数

    • fn: Function

      実行する関数。

    戻り値 void

deleteColumns

  • deleteColumns(index?: number, count?: number): void
  • FlexSheetコントロールの現在のSheet に列を削除します。

    引数

    • オプション index: number

      削除する列の開始インデックス。 これを指定しない場合、現在選択されている範囲の最初の列から列が削除されます。

    • オプション count: number

      削除する列数。これを指定しない場合、1行が削除されます。

    戻り値 void

deleteRows

  • deleteRows(index?: number, count?: number): void
  • FlexSheetコントロールの現在のSheet に行を削除します。

    引数

    • オプション index: number

      削除する行の開始インデックス。 これを指定しない場合、現在選択されている範囲の最初の行から行が削除されます。

    • オプション count: number

      削除する行数。これを指定しない場合、1行が削除されます。

    戻り値 void

dispose

  • dispose(): void
  • ホスト要素との関連付けを解除することによってコントロールを破棄します。

    戻り値 void

endUpdate

  • endUpdate(): void

evaluate

  • evaluate(formula: string, format?: string, sheet?: Sheet, getPrimitiveResult?: boolean): any
  • 式を評価します。

    FlexSheet の式はExcelの構文に従い、Excelでサポートされている関数の大部分を含みます。 FlexSheet によってサポートされる関数の完全なリストについては、 「FlexSheetの関数」を参照してください。

    引数

    • formula: string

      評価する式。この式の先頭には、オプションで等号('=')を付けることができます。

    • オプション format: string

      指定する場合、評価された値に適用する.NET書式を定義します。

    • オプション sheet: Sheet

      評価に使用されるデータを含むSheet。 指定されていない場合は、現在のシートが使用されます。

    • オプション getPrimitiveResult: boolean

      プリミティブ型以外の結果をプリミティブ型の結果に変換する必要があるかどうかを示します。

    戻り値 any

finishEditing

  • finishEditing(cancel?: boolean): boolean
  • 保留中の編集をすべてコミットし、編集モードを終了します。

    引数

    • オプション cancel: boolean

      保留中の編集をキャンセルするかコミットするか。

    戻り値 boolean

focus

  • focus(): void
  • グリッド全体をスクロールしてビューに入れることなくグリッドにフォーカスを設定するようにオーバーライドされます。

    戻り値 void

freezeAtCursor

  • freezeAtCursor(): void
  • FlexSheetコントロールの列および行を固定または固定解除します。

    戻り値 void

getBuiltInTableStyle

  • getBuiltInTableStyle(styleName: string): TableStyle
  • 組み込みテーブルスタイルを取得します。

    引数

    • styleName: string

      組み込みテーブルスタイルの名前。

    戻り値 TableStyle

getCellBoundingRect

  • getCellBoundingRect(r: number, c: number, raw?: boolean): Rect
  • セル要素の範囲(ビューポート座標単位)を取得します。

    このメソッドは、 cellsパネル内のセル(スクロール可能なデータセル)の範囲を返します。 その他のパネルにあるセルの範囲を取得するには、該当する GridPanel オブジェクトの getCellBoundingRect メソッドを使用してください。

    戻り値は、セルの位置とサイズ(ビューポート座標単位)を 含むRect オブジェクトです。 このビューポート座標は、 getBoundingClientRectメソッドで使用されている座標と同じです。

    引数

    • r: number

      セルを含む行のインデックス。

    • c: number

      セルを含む列のインデックス。

    • オプション raw: boolean

      返される矩形の単位をビューポート座標ではなく生のパネル座標にするかどうか。

    戻り値 Rect

getCellData

  • getCellData(r: number, c: number, formatted: boolean): any
  • グリッドのスクロール可能領域内のセルに格納された値を取得します。

    引数

    • r: number

      セルを含む行のインデックス。

    • c: number

      セルを含む列のインデックス。

    • formatted: boolean

      値を表示用に書式設定するかどうか。

    戻り値 any

getCellValue

  • getCellValue(rowIndex: number, colIndex: number, formatted?: boolean, sheet?: Sheet): any
  • 評価されたセル値を取得します。

    getCellDataメソッドは生のデータ(値または数式のどちらか)を返しますが、 getCellValueメソッドはそれとは異なり、常に評価された値を返します。すなわち、セルに数式が含まれている場合は、 まず数式を評価してから結果の値が返されます。

    引数

    • rowIndex: number

      セルの行インデックス。

    • colIndex: number

      セルの列インデックス。

    • オプション formatted: boolean

      セルの元の値または書式設定された値のどちらを返すかを示します。

    • オプション sheet: Sheet

      評価に使用されるデータを含むSheet 。これを指定しない場合、現在のシートのデータが使用されます。

    戻り値 any

getClipString

  • CellRange の内容を、クリップボードへのコピーに適した文字列として取得します。

    FlexSheet は、このメソッドをオーバーライドして、FlexSheet で複数の行または列の選択をサポートします。 非表示の行または列は、クリップボード文字列に含まれません。

    引数

    • オプション rng: CellRange

      コピーするCellRange 。 省略した場合、現在の選択範囲が使用されます。

    戻り値 string

getColumn

  • getColumn(name: string): Column
  • 名前または連結に基づいて列を取得します。

    このメソッドは、名前で列を検索します。指定された名前を持つ列が見つからない場合は、 バインディングによって検索します。検索では大文字と小文字が区別されます。

    引数

    • name: string

      検索する名前または連結。

    戻り値 Column

getMergedRange

  • GridPanel 内のセルの結合範囲を示すCellRange を取得します。 このメソッドは、親クラスであるFlexGridのgetMergedRangeメソッドをオーバーライドします。

    引数

    • panel: GridPanel

      範囲を含むGridPanel

    • r: number

      セルを含む行のインデックス。

    • c: number

      セルを含む列のインデックス。

    • オプション clip: boolean

      結合範囲をグリッドの現在のビュー範囲にクリップするかどうか。

    戻り値 CellRange

getSelectedState

getSelectionFormatState

  • 選択されているセルの書式設定を記述するIFormatState オブジェクトを取得します。

    戻り値 IFormatState

getTemplate

  • getTemplate(): string
  • コントロールのインスタンスの作成に使用されたHTMLテンプレートを取得します。

    このメソッドは、クラス階層をさかのぼってコントロールのテンプレートを指定する最も近い祖先を探します。 たとえば、ComboBox コントロールのプロトタイプを指定した場合、 そのプロトタイプによってDropDown 基本クラスで定義されたテンプレートがオーバーライドされます。

    戻り値 string

hasOwnProperty

  • hasOwnProperty(v: PropertyKey): boolean
  • オブジェクトが指定されたプロパティを持つかどうかを判定します。

    引数

    • v: PropertyKey

      プロパティの名前。

    戻り値 boolean

hideFunctionList

  • hideFunctionList(): void
  • 関数リストを閉じます。

    戻り値 void

hitTest

  • 指定されたポイントに関する情報を含むwijmo.grid.HitTestInfo オブジェクトを取得します。

    次に例を示します。

    // ユーザーがグリッドをクリックしたときに、ポイントをヒットテストします
    flex.hostElement.addEventListener('click', function (e) {
      var ht = flex.hitTest(e.pageX, e.pageY);
      console.log('you clicked a cell of type "' +
        wijmo.grid.CellType[ht.cellType] + '".');
    });

    引数

    • pt: any

      調べるPoint (ページ座標単位)、MouseEventオブジェクト、またはポイントのX座標。

    • オプション y: any

      ポイントのY座標(ページ座標単位、最初のパラメーターが数値の場合)。

    戻り値 HitTestInfo

initialize

  • initialize(options: any): void
  • 指定したオブジェクトからプロパティをコピーしてコントロールを初期化します。

    このメソッドを使用すると、各プロパティの値をコードで設定する代わりにプレーンなデータオブジェクトを使用してコントロールを初期化できます。

    例:

    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;
    // など
    

    初期化データは適用時に型チェックされます。 初期化オブジェクトに不明なプロパティ名または無効なデータ型が含まれている場合、このメソッドは例外をスローします。

    引数

    • options: any

      初期化データを含むオブジェクト。

    戻り値 void

insertColumns

  • insertColumns(index?: number, count?: number): void
  • FlexSheetコントロールの現在のSheet に列を挿入します。

    引数

    • オプション index: number

      新しい列を追加する位置。 これを指定しない場合、現在選択されている範囲の一番左の列の前に列が追加されます。

    • オプション count: number

      追加する列数。これを指定しない場合、1列が追加されます。

    戻り値 void

insertRows

  • insertRows(index?: number, count?: number): void
  • FlexSheetコントロールの現在のSheet に行を挿入します。

    引数

    • オプション index: number

      新しい行を追加する位置。 これを指定しない場合、現在選択されている範囲の最初の行の前に行が追加されます。

    • オプション count: number

      追加する行数。これを指定しない場合、1行が追加されます。

    戻り値 void

invalidate

  • invalidate(fullUpdate?: boolean): void
  • 非同期更新を発生させるため、コントロールを無効にします。

    引数

    • オプション fullUpdate: boolean

      内容だけでなくコントロールのレイアウトも更新するかどうか。

    戻り値 void

isPrototypeOf

  • isPrototypeOf(v: Object): boolean
  • オブジェクトが別のオブジェクトのプロトタイプチェーンに存在するかどうかを判定します。

    引数

    • v: Object

      プロトタイプチェーンが判定される別のオブジェクト。

    戻り値 boolean

isRangeValid

  • 指定したCellRangeがこのグリッドの行および列コレクションに対して有効かどうかをチェックします。

    引数

    戻り値 boolean

load

  • load(workbook: any): void
  • ワークブックを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);
        }
    }

    引数

    • workbook: any

      xlsxファイルコンテンツを含むワークブックインスタンス、 Blobインスタンス、base64文字列、またはArrayBuffer。

    戻り値 void

loadAsync

  • loadAsync(workbook: any, onLoaded?: Object, onError?: Object): void
  • ワークブックをFlexSheet に非同期にロードします。 このメソッドはJSZip 3.0を使用します。

    引数

    • workbook: any

      xlsxファイルコンテンツを含むワークブックインスタンス、 Blobインスタンス、base64文字列、またはArrayBuffer。

    • オプション onLoaded: Object

      このコールバックは、ロードされたワークブックインスタンスをアクセスする方法を提供します。 このメソッドは非同期メソッドであるため、ユーザーはロードされたワークブックインスタンスを直ちに取得することができません。 このコールバックには、単一のパラメータ、ロードされたワークブックインスタンスが含まれます。

    • オプション onError: Object

      このコールバックは、ワークブックがロードされるときにエラー情報を捕捉します。 コールバックのパラメータには、失敗理由が含まれます。 次に例を示します。

      flexsheet.loadAsync(blob, function (workbook) {
           // このコールバックで、ユーザーはロードされたワークブックインスタンスにアクセスできます。
           var app = worksheet.application ;
           ...
      }, function (reason) {
           // このコールバックで、ユーザーは失敗理由を確認できます。
           console.log('The reason of load failure is ' + reason);
      });
      

    戻り値 void

mergeRange

  • mergeRange(cells?: CellRange, isCopyMergeCell?: boolean): void
  • 選択されているCellRange を1つのセルに結合します。

    引数

    • オプション cells: CellRange

      結合する CellRange

    • オプション isCopyMergeCell: boolean

      このパラメータは、結合操作が結合セルのコピー/ペーストで行われたかどうかを示します。

    戻り値 void

onAutoSizedColumn

onAutoSizedRow

onAutoSizingColumn

onAutoSizingRow

onBeginDroppingRowColumn

onBeginningEdit

onCellEditEnded

onCellEditEnding

onColumnChanged

onCopied

onCopying

onDeletedRow

onDeletingRow

onDraggedColumn

onDraggedRow

onDraggingColumn

onDraggingColumnOver

onDraggingRow

onDraggingRowColumn

onDraggingRowOver

onDroppingRowColumn

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

    引数

    戻り値 void

onEndDroppingRowColumn

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

    引数

    戻り値 void

onFormatItem

onGotFocus

onGroupCollapsedChanged

onGroupCollapsedChanging

onItemsSourceChanged

onItemsSourceChanging

onLoaded

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

    引数

    戻り値 void

onLoadedRows

onLoadingRows

onLostFocus

onPasted

onPastedCell

onPasting

onPastingCell

onPrepareCellForEdit

onPrepareChangingColumn

onPrepareChangingRow

onRefreshed

onRefreshing

onResizedColumn

onResizedRow

onResizingColumn

onResizingRow

onRowAdded

onRowChanged

onRowEditEnded

onRowEditEnding

onRowEditStarted

onRowEditStarting

onScrollPositionChanged

  • onScrollPositionChanged(e?: EventArgs): void

onSelectedSheetChanged

onSelectionChanged

onSelectionChanging

onSheetCleared

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

    引数

    戻り値 void

onSortedColumn

onSortingColumn

onUnknownFunction

onUpdatedLayout

onUpdatedView

onUpdatingLayout

onUpdatingView

propertyIsEnumerable

  • propertyIsEnumerable(v: PropertyKey): boolean
  • 指定されたプロパティが列挙可能かどうかを判断します。

    引数

    • v: PropertyKey

      プロパティの名前。

    戻り値 boolean

redo

  • redo(): void
  • 最後のユーザー操作をやり直します。

    戻り値 void

refresh

  • refresh(fullUpdate?: boolean): void
  • シートとTabHolderをリフレッシュするためにオーバーライドされます。

    引数

    • オプション fullUpdate: boolean

      内容だけでなくコントロールのレイアウトも更新するかどうか。

    戻り値 void

refreshCells

  • refreshCells(fullUpdate: boolean, recycle?: boolean, state?: boolean): void
  • グリッドの表示を更新します。

    引数

    • fullUpdate: boolean

      グリッドのレイアウトと内容を更新するか、内容だけを更新するか。

    • オプション recycle: boolean

      既存の要素を再利用するかどうか。

    • オプション state: boolean

      既存の要素を保持してその状態を更新するかどうか。

    戻り値 void

refreshRange

  • 選択範囲内のセルを更新し、その内容とスタイルを更新します。

    すべてのセルを更新する refreshCells メソッドとは異なり、 refreshRange ではどのセルを更新するかを指定できます。 これにより、 パフォーマンスを向上させることができます。

    引数

    戻り値 void

removeEventListener

  • removeEventListener(target?: EventTarget, type?: string, fn?: any, capture?: boolean): number
  • このControl が所有する要素にアタッチされている1つまたは複数のイベントリスナーを解除します。

    引数

    • オプション target: EventTarget

      イベントのターゲット要素。 nullの場合、すべてのターゲットにアタッチされているリスナーが解除されます

    • オプション type: string

      イベントを指定する文字列。 nullの場合、すべてのイベントにアタッチされているリスナーが解除されます。

    • オプション fn: any

      削除するハンドラ。 nullの場合は、すべてのハンドラが削除されます。

    • オプション capture: boolean

      リスナーがキャプチャリスナーかどうか。 nullの場合、キャプチャリスナーと非キャプチャリスナーの両方が解除されます。

    戻り値 number

save

  • FlexSheet をxlsxファイルに非同期に保存します。 このメソッドはJSZip 2.5を使用します。

    次に例を示します。

    // このサンプルは、ボタンのクリックで、FlexSheetのコンテンツをxlsxファイルにエクスポートします。
    // クリック。
     
    // HTML
    <button
        onclick="saveXlsx('FlexSheet.xlsx')">
        Save
    </button>
     
    // JavaScript
    function saveXlsx(fileName) {
        // FlexSheetをxlsxファイルに保存します。
        flexsheet.save(fileName);
    }

    引数

    戻り値 mXlsx.Workbook

saveAsync

  • FlexSheet をxlsxファイルに非同期に保存します。 このメソッドはJSZip 3.0を使用します。

    引数

    • オプション fileName: string

      生成されるファイル名。

    • オプション onSaved: Object

      このコールバックは、保存されたFlexSheetのコンテンツを表すbase64文字列を取得する方法を提供します。 このメソッドは非同期メソッドであるため、 ユーザーはbase64文字列を直ちに取得することができません。このコールバックを通じて base64文字列を取得する必要があります。 コールバックのパラメータには、保存されたflexsheetのbase64文字列が含まれます。 それがユーザーに渡されます。

    • オプション onError: Object

      このコールバックは、保存時のエラー情報を捕捉します。 コールバックのパラメータには、失敗理由が含まれます。 保存失敗の理由を確認したい場合は、この戻り値がユーザーに渡されます。 次に例を示します。

      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);
      });
      

    • オプション options: IFlexSheetXlsxOptions

      保存オプションを指定するIFlexSheetXlsxOptions オブジェクト。

    戻り値 Workbook

scrollIntoView

  • scrollIntoView(r: number, c: number, refresh?: boolean): boolean
  • 指定したセルが画面に入るようにグリッドをスクロールします。

    負の行と列のインデックスは無視されるので、以下を呼び出すと、

    grid.scrollIntoView(200, -1);

    グリッドは200行目を表示するように垂直にスクロールしますが、水平にスクロールしません。

    引数

    • r: number

      画面に入るようにスクロールする行のインデックス

    • c: number

      画面に入るようにスクロールする列のインデックス。

    • オプション refresh: boolean

      スクロールした新しい位置をすぐ表示するためにグリッドを更新する必要があるかどうかを決定するオプションのパラメータ。

    戻り値 boolean

select

  • select(rng: any, show?: any): void
  • セル範囲を選択し、オプションでそのセル範囲が画面に入るようにスクロールします。

    FlexSheet はこのメソッドをオーバーライドして、FlexSheet 上の結合されたセルに合わせて選択セル範囲を調整します。

    引数

    • rng: any

      選択するセル範囲。

    • オプション show: any

      新しい選択範囲が画面に入るようにスクロールするかどうかを示します。

    戻り値 void

selectNextFunction

  • selectNextFunction(): void
  • 関数リスト内の次の関数を選択します。

    戻り値 void

selectPreviousFunction

  • selectPreviousFunction(): void
  • 関数リスト内の前の関数を選択します。

    戻り値 void

setCellData

  • setCellData(r: number, c: any, value: any, coerce?: boolean, invalidate?: boolean): boolean
  • 基本クラスのsetCellData関数をオーバーライドします。

    引数

    • r: number

      セルを含む行のインデックス。

    • c: any

      セルを含む列のインデックス、名前、またはバインディング。

    • value: any

      セルに格納する値。

    • オプション coerce: boolean

      列のデータ型に合わせて値を自動的に変更するかどうか。

    • オプション invalidate: boolean

      FlexSheetを無効にして変更を表示するかどうか。

    戻り値 boolean

setClipString

  • setClipString(text: string, rng?: CellRange): boolean
  • 文字列を行および列に解析し、その内容を特定の範囲に適用します。

    FlexGridsetClipStringメソッドをオーバーライドします。

    引数

    • text: string

      グリッドに解析する、タブと改行で区切られたテキスト。

    • オプション rng: CellRange

      コピーするCellRange 。 省略した場合、現在の選択範囲が使用されます。

    戻り値 boolean

showColumnFilter

  • showColumnFilter(): void
  • フィルタエディタを表示します。

    戻り値 void

showFunctionList

  • showFunctionList(target: HTMLElement): void
  • 関数リストを開きます。

    引数

    • target: HTMLElement

      関数リストの表示/非表示を切り替えるDOM要素。

    戻り値 void

startEditing

  • startEditing(fullEdit?: boolean, r?: number, c?: number, focus?: boolean): boolean
  • 指定されたセルの編集を開始します。

    FlexGrid の編集は、Excelの編集によく似ています。 [F2]キーを押すか、セルをダブルクリックすると、 グリッドが 完全編集 モードになります。 このモードでは、ユーザーがEnter、Tab、Esc、またはいずれかの矢印キーを押すまで、 セルエディタはアクティブなままになります。 完全編集モードでは、 カーソルキーを押しても、グリッドの編集モードは終了しません。

    テキストをセルに直接入力すると、グリッドは クイック編集 モードになります。 このモードでは、ユーザーがEnter、Tab、Esc、またはいずれかの矢印キーを押すまで、 セルエディタはアクティブなままになります。

    通常、完全編集モードは既存の値を変更する際に使用します。 クイック編集モードは新しいデータをすばやく入力する際に使用します。

    編集中に[F2]キーを押すことで、完全編集モードとクイック編集モードを切り替えることができます。

    引数

    • オプション fullEdit: boolean

      ユーザーがカーソルキーを押したときも編集モードのままにするかどうか。デフォルトはtrueです。

    • オプション r: number

      編集する行のインデックス。 デフォルトは現在選択されている行です。

    • オプション c: number

      編集する列のインデックス。 デフォルトは現在選択されている列です。

    • オプション focus: boolean

      編集開始時に、エディタにフォーカスを与えるかどうか。デフォルトはtrueです。

    戻り値 boolean

toLocaleString

  • toLocaleString(): string
  • 現在のロケールを使用して文字列に変換された日付を返します。

    戻り値 string

toString

  • toString(): string
  • オブジェクトの文字列表現を返します。

    戻り値 string

toggleDropDownList

  • toggleDropDownList(): void
  • 現在選択されているセルに関連付けられたドロップダウンリストボックスを切り替えます。

    このメソッドでは、セルが編集モードに入ったとき、またはユーザが特定のキーを押したときに、 ドロップダウンリストを自動的に表示することができます。

    たとえば、このコードでは、グリッドが編集モードに入るたびに、グリッドにドロップダウンリストが表示されます。

    // グリッドが編集モードに入ると、ドロップダウンリストを表示する
    theGrid.beginningEdit = function () {
    theGrid.toggleDropDownList();
    }

    このコードでは、ユーザーがスペースバーを押した場合、グリッドが編集モードに入った後で、ドロップダウンリストが表示されます。

     // ユーザーがスペースバーを押したときにドロップダウンリストを表示する
    theGrid.hostElement.addEventListener('keydown', function (e) {
      if (e.keyCode == 32) {
        e.preventDefault();
        theGrid.toggleDropDownList();
      }
    }, true);

    戻り値 void

undo

  • undo(): void
  • 最後のユーザー操作を元に戻します。

    戻り値 void

valueOf

  • valueOf(): Object
  • 指定されたオブジェクトのプリミティブ値を返します。

    戻り値 Object

静的 convertNumberToAlpha

  • convertNumberToAlpha(c: number): string
  • 数値をその対応するアルファベットに変換します。. たとえば、0、1、2...をa、b、c...に変換します。

    引数

    • c: number

      変換する数値。

    戻り値 string

静的 disposeAll

  • disposeAll(e?: HTMLElement): void
  • HTML要素に含まれるすべてのWijmoコントロールを破棄します。

    引数

    • オプション e: HTMLElement

      コンテナー要素。

    戻り値 void

静的 getControl

  • getControl(element: any): Control
  • 指定したDOM要素でホストされているコントロールを取得します。

    引数

    • element: any

      コントロールをホストするDOM要素、またはホスト要素のCSS セレクター(例: '#theCtrl')。

    戻り値 Control

静的 invalidateAll

  • invalidateAll(e?: HTMLElement): void
  • 指定したHTML要素に含まれるすべてのWijmoコントロールを無効化します。

    このメソッドは、コントロールの表示状態やサイズを変更する 動的なパネルをアプリケーションで使用している場合に使用します。 たとえば、スプリッタ、アコーディオン、およびタブコントロールは通常、 その中の要素の表示状態を変更します。この場合、その要素に含まれるコントロールに通知しないと、 それらのコントロールが適切に機能しなくなる可能性があります。 これが起こる場合は、動的コンテナーで適切なイベントを処理し、 Control.invalidateAll メソッドを呼び出してコンテナー内のWijmoコントロールの レイアウト情報が適切に更新されるようにする必要があります。

    引数

    • オプション e: HTMLElement

      コンテナー要素。nullに設定すると、ページ上に存在するすべてのWijmoコントロールが無効化されます。

    戻り値 void

静的 refreshAll

  • refreshAll(e?: HTMLElement): void
  • HTML要素で存在するすべてのWijmoコントロールを更新する。

    コントロールが時間おいて更新される代わりに直ちに更新されること以外はinvalidateAll メソッドと同様です。

    引数

    • オプション e: HTMLElement

      コンテナー要素。nullに設定すると、ページ上に存在するすべてのWijmoコントロールが無効化されます。

    戻り値 void

イベント

autoSizedColumn

autoSizedColumn: Event

ユーザーが列ヘッダセルの右端をダブルクリックして列のサイズを自動設定した後に発生します。

autoSizedRow

autoSizedRow: Event

ユーザーが行ヘッダセルの下端をダブルクリックして行のサイズを自動設定した後に発生します。

autoSizingColumn

autoSizingColumn: Event

ユーザーが列ヘッダセルの右端をダブルクリックして列のサイズを自動設定する前に発生します。

autoSizingRow

autoSizingRow: Event

ユーザーが行ヘッダセルの下端をダブルクリックして行のサイズを自動設定する前に発生します。

beginDroppingRowColumn

beginDroppingRowColumn: Event

FlexSheetの行または列のドロップを開始したときに発生します。

beginningEdit

beginningEdit: Event

セルが編集モードに入る前に発生します。

cellEditEnded

cellEditEnded: Event

セル編集が確定またはキャンセルされたときに発生します。

cellEditEnding

cellEditEnding: Event

セル編集が終了するときに発生します。

このイベントを使用して検証を実行し、無効な編集を防ぐことができます。 たとえば、次のコードは、ユーザーが文字「a」を含まない値を入力できないようにします。 このコードは、編集が適用される前に、編集前と編集後の値を取得する方法を示しています。

function cellEditEnding (sender, e) {
  // 編集前と編集後の値を取得します
  var flex = sender,
      oldVal = flex.getCellData(e.row, e.col),
      newVal = flex.activeEditor.value;
  // newValに「a」が含まれていない場合は、編集をキャンセルします
  e.cancel = newVal.indexOf('a') < 0;
}

CellEditEndingEventArgs.cancel パラメータをtrueに設定すると、編集された値が無視されて、 グリッドでセルの元の値が維持されます。

また、CellEditEndingEventArgs.stayInEditMode パラメータをtrueに設定すると、 グリッドの編集モードが維持され、編集をコミットする前にユーザーが無効な値を修正できます。

columnChanged

columnChanged: Event

FlexSheet で列が挿入/削除された後に発生します。

copied

copied: Event

ユーザーがいずれかのクリップボードショートカットキーを押して選択されている内容をクリップボードにコピーした後に発生します(autoClipboard プロパティを参照)。

copying

copying: Event

ユーザーがいずれかのクリップボードショートカットキーを押して選択されている内容をクリップボードにコピーするときに発生します(autoClipboard プロパティを参照)。

イベントハンドラでコピー操作をキャンセルできます。

deletedRow

deletedRow: Event

ユーザーが[Del]キーを押して行を削除した後に発生します (allowDelete プロパティを参照)。

deletingRow

deletingRow: Event

ユーザーが[Delete]キーを押して選択されている行を削除するときに発生します(allowDelete プロパティを参照)。

イベントハンドラで行の削除をキャンセルできます。

draggedColumn

draggedColumn: Event

ユーザーが列のドラッグを完了したときに発生します。

draggedRow

draggedRow: Event

ユーザーが行のドラッグを完了したときに発生します。

draggingColumn

draggingColumn: Event

ユーザーが列のドラッグを開始するときに発生します。

draggingColumnOver

draggingColumnOver: Event

ユーザーが列を別の位置にドラッグするときに発生します。

ハンドラは、このイベントをキャンセルして、ユーザーが特定の位置に列をドロップしないようにすることができます。 次に例を示します。

<pre// ドラッグされている列を記憶します flex.draggingColumn.addHandler(function (s, e) { theColumn = s.columns[e.col].binding; });

// 'sales'列がインデックス0にドラッグされないようにします s.draggingColumnOver.addHandler(function (s, e) { if (theColumn == 'sales' && e.col == 0) { e.cancel = true; } });</pre

draggingRow

draggingRow: Event

ユーザーが行のドラッグを開始するときに発生します。

draggingRowColumn

draggingRowColumn: Event

FlexSheet の行または列をドラッグしているときに発生します。

draggingRowOver

draggingRowOver: Event

ユーザーが行を別の位置にドラッグするときに発生します。

droppingRowColumn

droppingRowColumn: Event

FlexSheet の行または列をドロップしたときに発生します。 このイベントは非推奨になりました。代わりに beginDroppingRowColumn イベントと endDroppingRowColumn イベントを使用してください。

endDroppingRowColumn

endDroppingRowColumn: Event

FlexSheetの行または列のドロップを終了したときに発生します。

formatItem

formatItem: Event

セルを表す要素が作成されたときに発生します。

このイベントを使用してセルを表示用に書式設定できます。このイベントは、目的はitemFormatter プロパティと同じですが、複数の独立したハンドラを使用できる利点があります。

以下のサンプルコードは、グループ行のセルから'wj-wrap'クラスを削除します。

flex.formatItem.addHandler(function (s, e) {
  if (flex.rows[e.row] instanceof wijmo.grid.GroupRow) {
    wijmo.removeClass(e.cell, 'wj-wrap');
  }
});

gotFocus

gotFocus: Event

コントロールがフォーカスを取得したときに発生します。

groupCollapsedChanged

groupCollapsedChanged: Event

グループが展開または折りたたまれた後に発生します。

groupCollapsedChanging

groupCollapsedChanging: Event

グループが展開または折りたたまれる直前に発生します。

itemsSourceChanged

itemsSourceChanged: Event

グリッドが新しい項目ソースにバインドされた後に発生します。

itemsSourceChanging

itemsSourceChanging: Event

グリッドが新しい項目ソースにバインドされれ前に発生します。

loaded

loaded: Event

FlexSheetWorkbook インスタンスをロードした後に発生します。

loadedRows

loadedRows: Event

グリッド行がデータソースの項目に連結された後に発生します。

loadingRows

loadingRows: Event

グリッド行がデータソースの項目に連結される前に発生します。

lostFocus

lostFocus: Event

コントロールがフォーカスを失ったときに発生します。

pasted

pasted: Event

ユーザーがいずれかのクリップボードショートカットキーを押してクリップボードの内容を貼り付けた後に発生します(autoClipboard プロパティを参照)。

pastedCell

pastedCell: Event

ユーザーがクリップボードの内容をセルに貼り付けた後に発生します(autoClipboard プロパティを参照)。

pasting

pasting: Event

ユーザーがいずれかのクリップボードショートカットキーを押してクリップボードの内容を貼り付けた時に発生します(autoClipboard プロパティを参照)。

イベントハンドラで貼り付け操作をキャンセルできます。

pastingCell

pastingCell: Event

ユーザーがクリップボードの内容をセルに貼り付けるときに発生します(autoClipboard プロパティを参照)。

イベントハンドラで貼り付け操作をキャンセルできます。

prepareCellForEdit

prepareCellForEdit: Event

エディタセルが作成されたとき、それがアクティブになる前に発生します。

prepareChangingColumn

prepareChangingColumn: Event

FlexSheet で列が挿入/削除される前に発生します。

prepareChangingRow

prepareChangingRow: Event

FlexSheet で行が挿入/削除される前に発生します。

refreshed

refreshed: Event

コントロールが内容を更新した後で発生します。

refreshing

refreshing: Event

コントロールが内容を更新する直前に発生します。

resizedColumn

resizedColumn: Event

ユーザーが列のサイズ変更を完了したときに発生します。

resizedRow

resizedRow: Event

ユーザーが行のサイズ変更を完了したときに発生します。

resizingColumn

resizingColumn: Event

列がサイズ変更されるときに発生します。

resizingRow

resizingRow: Event

行がサイズ変更されるときに発生します。

rowAdded

rowAdded: Event

ユーザーが新規行テンプレートを編集して新しい項目を作成したときに発生します(allowAddNew プロパティを参照)。

イベントハンドラで新しい項目の内容をカスタマイズしたり、 新しい項目の作成をキャンセルしたりできます。

rowChanged

rowChanged: Event

FlexSheet で行が挿入/削除された後に発生します。

rowEditEnded

rowEditEnded: Event

行編集が確定またはキャンセルされたときに発生します。

rowEditEnding

rowEditEnding: Event

行編集が終了するとき、変更が確定またはキャンセルされる前に発生します。

このイベントをrowEditStarted イベントと組み合わせて使用して、 ディープ連結編集を元に戻す操作を実装できます。 次に例を示します。

// 編集の開始時にディープ連結値を保存します
var itemData = {};
s.rowEditStarted.addHandler(function (s, e) {
  var item = s.collectionView.currentEditItem;
  itemData = {};
  s.columns.forEach(function (col) {
    if (col.binding.indexOf('.') > -1) { // deep binding
      var binding = new wijmo.Binding(col.binding);
      itemData[col.binding] = binding.getValue(item);
    }
  })
});

// 編集がキャンセルされたときにディープ連結値を復元します
s.rowEditEnded.addHandler(function (s, e) {
  if (e.cancel) { // edits were canceled by the user
    var item = s.collectionView.currentEditItem;
    for (var k in itemData) {
      var binding = new wijmo.Binding(k);
      binding.setValue(item, itemData[k]);
    }
  }
  itemData = {};
});

rowEditStarted

rowEditStarted: Event

行が編集モードに入った後に発生します。

rowEditStarting

rowEditStarting: Event

行が編集モードに入る前に発生します。

scrollPositionChanged

scrollPositionChanged: Event

コントロールがスクロールされた後に発生します。

selectedSheetChanged

selectedSheetChanged: Event

現在のシートインデックスが変更されたときに発生します。

selectionChanged

selectionChanged: Event

選択が変更された後に発生します。

selectionChanging

selectionChanging: Event

選択が変更される前に発生します。

sheetCleared

sheetCleared: Event

FlexSheet がクリアされたときに発生します。

sortedColumn

sortedColumn: Event

ユーザーが列ヘッダをクリックしてソートを適用した後に発生します。

sortingColumn

sortingColumn: Event

ユーザーが列ヘッダをクリックしてソートを適用する前に発生します。

unknownFunction

unknownFunction: Event

FlexSheet で不明な式が検出されたときに発生します。

updatedLayout

updatedLayout: Event

グリッドで内部レイアウトが更新された後に発生します。

updatedView

updatedView: Event

グリッドが現在のビューを構成する要素の作成/更新を完了したときに発生します。

グリッドのビューは以下のような操作に応じて更新されます。

  • グリッドまたはそのデータソースの更新
  • 行または列の追加、削除、変更
  • グリッドのサイズ変更またはスクロール
  • 選択の変更。

updatingLayout

updatingLayout: Event

グリッドで内部レイアウトが更新される前に発生します。

updatingView

updatingView: Event

現在のビューを構成する要素の作成/更新をグリッドが開始したときに発生します。