5.20213.824
wijmo.grid Class Column Wijmo API クラス

Column クラス

グリッドの列を表します。

階層

コンストラクタ

constructor

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

    引数

    • オプション options: any

      列の初期化オプション。

    戻り値 Column

プロパティ

aggregate

aggregate: Aggregate

列のグループヘッダ行に表示するAggregate を取得または設定します。

このプロパティのデフォルト値はAggregate.Noneです。これにより、グリッドにはこの列の集計値が表示されません。

align

align: string | null

列または行のセルの水平方向の配置を取得または設定します。

このプロパティのデフォルト値はnullで、列のdataType に基づいて配置が自動的に選択されます (数値の場合は右揃え、ブール値の場合は中央揃え、その他の型の場合は左揃え)。

デフォルトの配置をオーバーライドする場合は、 このプロパティを'left'、'right'、'center'、'justify'のいずれかに設定します。

allowDragging

allowDragging: boolean

ユーザーがマウスで列または行を新しい位置に移動できるかどうかを示す値を取得または設定します。

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

allowMerging

allowMerging: boolean

列または行にあるセルを結合できるかどうかを示す値を取得または設定します。

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

allowResizing

allowResizing: boolean

ユーザーがマウスで列または行をサイズ変更できるかどうかを示す値を取得または設定します。

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

allowSorting

allowSorting: boolean

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

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

binding

binding: string | null

列がバインドされているプロパティの名前を取得または設定します。

このプロパティのデフォルト値はnullです。これにより、列がどのデータフィールドにも連結されません。

このプロパティは、自動生成された列に対して自動的に設定されます(FlexGrid.autoGenerateColumnsを参照)。

cellTemplate

cellTemplate: string | ICellTemplateFunction | null

この Column のデータセルのHTMLコンテンツを生成するために使用される ICellTemplateFunction またはテンプレートの文字列を取得または設定します。

セルテンプレート文字列は、テンプレートリテラル構文を使用します。 コンテンツの文字列は、タイプICellTemplateContextのスコープを使用して生成されます。

ICellTemplateFunction 関数は、ICellTemplateContext 型の引数を取り、 セルに表示されるHTMLコンテンツを返します。

次に例を示します。

// cellTemplate文字列を使用したデフォルトのレンダリング
col.cellTemplate = '${value}:${col.format}';

// cellTemplate関数を使用したデフォルトのレンダリング
col.cellTemplate = (ctx: ICellTemplateContext) => glbz`${ctx.value}:${ctx.col.format}`;

// cellTemplate文字列を使用した条件付き書式
col.cellTemplate = '<span class=${value > 40000 ? "big-val" : "small-val"}>${text}</span>';

// cellTemplate関数を使用した条件付き書式
col.cellTemplate = (ctx: ICellTemplateContext) => `
    <span class="${ctx.value > 4000 ? 'big-val' : 'small-val'}">${ctx.text}</span>
`;
セルテンプレートは通常の文字列であり、実際のJavaScriptテンプレートではないことに注意してください。
そのため、JavaScriptテンプレート文字列で使用される逆引用符とは異なり、
通常の引用符(単一または二重)を使用して定義されます。

**関数ベースの計算フィールド**は、次の理由により、通常、文字列ベースの計算フィールドよりも優れています。

 1)設計時のエラーチェックとコマンド補完を提供します。
 2)実行速度が速い
 3)コンテンツセキュリティポリシー(CSP)に関する問題はありません。

**文字列ベースの計算フィールド**には、関数ベースの計算フィールドよりも利点があり、
場合によっては重要になることがあります。 
いくつかの利点は次のとおりです。

 1)少し簡潔です
 2)データとして保存でき、実行時に簡単に変更できます。

<a href="wijmo_grid.column.html#celltemplate">cellTemplate</a> プロパティは、
Wijmoの相互運用モジュールで使用できる<a href="wijmo_input.listbox.html#formatitem">formatItem</a> イベントまたはセルテンプレートよりも単純で、
強力ではない代替方法を提供します。

テンプレートの文字列にはテンプレートリテラルが必要であるため、IEではサポートされていません。

セルテンプレートを使用する場合、列の <a href="wijmo_grid.column.html#binding">binding</a> および <a href="wijmo_grid.column.html#format">format</a> プロパティを設定する必要があります。
これらは編集モードで使用され、
コピー/貼り付け/エクスポート操作をサポートするために使用されます。

セルテンプレートはセルデータの描画にのみ使用され、セルの編集には影響しません。
セルエディタをカスタマイズする場合は、<a href="wijmo_grid.column.html#editor">editor</a>プロパティを使用します。

また、セルテンプレートを使用して、行ヘッダーセルをレンダリングすることができます。 たとえば、次の示すように、行ヘッダーセルに数値を追加します。

```typescript
// 行ヘッダー列を取得します
let col = theGrid.rowHeaders.columns[0];

// 行インデックスをヘッダーに追加するテンプレートを割り当てます
// ただし、編集や新しい行テンプレートなどのグリフは保持されます
col.cellTemplate = ctx => ctx.text || (ctx.row.index + 1).toString();

collectionView

collectionView: ICollectionView

この列または行にバインドされたICollectionView を取得します。

cssClass

cssClass: string | null

列または行のヘッダ以外のデータセルをレンダリングするときに使用するCSSクラス名を取得または設定します。

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

cssClassAll

cssClassAll: string | null

列または行内のすべてのセル(データとヘッダー)をレンダリングするときに使用するCSSクラス名を取得または設定します。

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

currentSort

currentSort: string

列に現在適用されているソート順序を表す文字列を取得します。 有効な値は、昇順の場合は'+'、降順の場合は'-'、列がソートされていない場合はnullです。

currentSortIndex

currentSortIndex: number

グリッドのコレクションビューのソート記述の配列内の列インデックスを取得します。

dataMap

dataMap: DataMap | null

生の値から列または行の表示値への変換に使用されるDataMap を取得または設定します。

デフォルトでは、データマップされたセルには、値をすばやく編集するためのドロップダウンリストがあります。列のdataMapEditorプロパティを設定して、エディターのタイプを変更できます。

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

dataMapEditor

dataMapEditor: DataMapEditor

この列または行でデータマップされたセルを編集するときに使用するエディターのタイプを示す値を取得または設定します。

このプロパティのデフォルト値はDataMapEditor.DropDownListです。 これにより、dataMapがあり、 読み取り専用ではない列のセルにドロップダウンボタンが追加されます。 ユーザーがドロップダウンボタンをクリックすると、 セルの値を選択するために使用できるドロップダウンリストがグリッドに表示されます。 DataMapEditor.RadioButtonsを設定すると、 グリッドは各オプションに対してラジオボタンを表示します。 ラジオボタンは、マウスまたはキーボードで クリックできます(各オプションの先頭文字またはスペースキーを押して、オプションを切り替えます)。

ドロップダウンリストは、wijmo.input.ListBoxクラスがアプリケーションによってロード/インポートされた場合にのみ使用できることに注意してください。

dataType

dataType: DataType | null

列または行に格納される値の型を取得または設定します。

グリッドを編集するとき、値は適切な型に型変換されます。

このプロパティのデフォルト値はnullです。 これにより、グリッドはデータ型の変換を実行しません。

このプロパティは、自動生成された列に対して自動的に設定されます(FlexGrid.autoGenerateColumnsを参照)。

describedById

describedById: string | null

列の説明を含む要素のIDを取得または設定します。

このIDは、列ヘッダ要素の aria-describedby 属性の値として使用されます。

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

dropDownCssClass

dropDownCssClass: string | null

この列または行のドロップダウンに追加するCSSクラス名を取得または設定します。

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

ドロップダウンリストは、wijmo.input.ListBoxクラスがアプリケーションによってロード/インポートされた場合にのみ使用できることに注意してください。

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

editor

editor: Control | null

このColumnのカスタムセルエディタとして使用される入力コントロールへの参照を取得または設定します。

入力コントロールは、通常、Wijmo入力コントロールの1つです。 列のデータ型と互換性がある必要があります。

たとえば、次のサンプルコードは、グリッド上のすべての日付型列に対する すべての組み込みエディタを単一のInputDateコントロールに置き換えます。

import { InputDate } from '@grapecity/wijmo.input';
let inputDate = new InputDate(document.createElement('div'));
theGrid.columns.forEach(col => {
    if (col.DataType == DateType.Date) {
        col.editor = inputDate;
    }
})

また、次のサンプルコードは、グリッド上のすべてのデータマップされている列に対する すべての組み込みエディタをAutoCompleteコントロールに置き換えます。

import { AutoComplete } from '@grapecity/wijmo.input';
theGrid.columns.forEach(col => {
    let map = col.dataMap;
    if (map) {
        col.editor = new AutoComplete(document.createElement('div'), {
            itemsSource: map.collectionView,
            displayMemberPath: map.displayMemberPath,
            selectedValuePath: map.selectedValuePath
        });
    }
});

上記の例では、列のdataMapプロパティを使用してAutoCompleteを初期化しています。 多くの場合、formatisRequiredなどの列プロパティを使用して、カスタムエディタを初期化することもできます。

次の例では、editorプロパティを使用して、さまざまなWijmo入力コントロールでグリッドの項目を編集する方法を示しています。

デモ

このプロパティのデフォルト値はnullです。 これにより、グリッドはグリッド独自の組み込みエディタを使用します。

format

format: string | null

未加工の値を列または行の表示値に変換するために使用される書式文字列を取得または設定します (Globalize を参照)。

このプロパティのデフォルト値はnullです。これにより、 グリッドはデータ型にに応じてデフォルトの書式を使用します。

grid

grid: FlexGrid

この 列または行 を所有する FlexGrid

header

header: string | null

列ヘッダに表示されるテキストを取得または設定します。

このプロパティのデフォルト値はnullです。これにより、binding文字列がヘッダとして使されます。

index

index: number

列または行の親コレクション内でのインデックスを取得します。

inputType

inputType: string | null

この列または行の値の編集に使用されるHTML入力要素の"type"属性を取得または設定します。

このプロパティのデフォルト値はnullです。これにより、数値列に対しては "tel"に設定され、 他のすべてのブール型以外の列に対して "text"に設定されます。"tel" 入力の型では、 モバイルデバイスはマイナス記号と小数点記号を含む数値キーパッドが表示されます。

デフォルトのままでは現在のカルチャ、デバイス、またはアプリケーションに関してうまく機能しない場合は、 このプロパティを使用してデフォルト設定を変更します。 その場合、値を"number"または"text"に変更してみてください。

isContentHtml

isContentHtml: boolean

この列または行にあるセルがプレーンテキストではなくHTMLコンテンツを含むかどうかを示す値を取得または設定します。

このプロパティは通常のセルにのみ適用されます。デフォルトでは、 行と列のヘッダセルにプレーンテキストが含まれます。 HTMLを列ヘッダまたは行ヘッダに表示するには、FlexGrid.formatItem イベントを使用してコードにセルのinnerHTMLコンテンツを設定する必要があります。

列のisReadOnlyプロパティがtrueに設定されていない限り、HTMLを表示するセルが編集できます。 デフォルトでは、エディタがHTMLマークアップを表示し、ユーザーがそれを変更できます。 列にdataMapがある場合、 ドロップダウンリストに書式設定された項目が表示され、 エディタにHTMLマークアップではなくプレーンテキストが表示されます。

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

isReadOnly

isReadOnly: boolean

列または行にあるセルを編集できるかどうかを示す値を取得または設定します。

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

isRequired

isRequired: boolean | null

この列または行の値が必須かどうかを決定する値を取得または設定します。

このプロパティのデフォルト値はnullです。この場合、日付、ブール値、および数値が必要ですが、非マスク文字列の列に空の文字列を含めることができます。

trueに設定する場合、値は必須であり、空の文字列を含めることができません。

falseに設定すると、null値と空の文字列を含めることができます。

isSelected

isSelected: boolean

列または行が選択されているかどうかを示す値を取得または設定します。

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

isVisible

isVisible: boolean

列または行が表示可能で、なおかつ折りたたまれていないかどうかを示す値を取得または設定します。

このプロパティは読み取り専用です。 列または行の表示/非表示設定を変更するには、代わりにvisible プロパティを使用してください。

mask

mask: string | null

この列または行の値の編集時に使用するマスクを取得または設定します。

マスクの定義に使用される書式は、wijmo.input.InputMaskコントロールで使用される書式と同じです。

これを指定する場合、マスクはformatプロパティの値と互換性がある必要があります。 たとえば、マスク「99/99/9999」は、「MM/dd/yyyy」の書式で日付を入力するために使用できます。

このプロパティのデフォルト値はnullです。これにより、任意の文字が任意の位置で受け入れられます。

maxLength

maxLength: number | null

この列または行のセルに入力できる最大の項目数を取得または設定します。

このプロパティのデフォルト値はnullです。これにより、任意の文字数の入力を許可します。

maxWidth

maxWidth: number | null

列の最大幅をピクセル単位で取得または設定します。

このプロパティのデフォルト値はnullです。これは、列幅に上限がないことを意味します。

minWidth

minWidth: number | null

列の最小幅を取得または設定します。

このプロパティのデフォルト値はnullです。これは、列幅に下限がないことを意味します。

multiLine

multiLine: boolean

この列または行にあるセルの内容が改行文字(\n).で ラップするかどうかを示す値を取得または設定します。

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

name

name: string | null

列の名前を取得または設定します。

列名を使用して、FlexGrid.getColumn メソッドで列を取得できます。

このプロパティは、連結されていない列または 同じbinding値を持つ複数の列を処理する場合に特に役立ちます。

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

pos

pos: number

列または行の位置を(ピクセル単位で)取得します。

quickAutoSize

quickAutoSize: boolean | null

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

このプロパティをfalseに設定すると、この列の自動リサイズ処理が無効になります。 このプロパティをtrueに設定すると、 グリッドのwijmo.grid.Column.quickAutoSize プロパティの値に従って、この機能が有効になります。 このプロパティのデフォルト値はnullです。これにより、 プレーンテキストを表示するテンプレートを持たない列の機能が有効になります。

renderSize

renderSize: number

列または行のレンダリングサイズを取得または設定します。

表示/非表示設定、デフォルトサイズ、および最小/最大サイズを考慮したサイズが返されます。

renderWidth

renderWidth: number

列のレンダリング幅を取得します。

列の表示/非表示設定、デフォルトサイズ、および最小/最大サイズを考慮した幅が返されます。

size

size: number | null

列または行のサイズを取得または設定します。

このプロパティをnullまたは負の値に設定すると、親コレクションのデフォルトサイズが使用されます。

sortMemberPath

sortMemberPath: string | null

この列をソートするときに使用するプロパティの名前を取得または設定します。

このプロパティは、 binding property.プロパティによって指定されている値以外の値に基づいて ソートを実行する場合に使用します。 このプロパティのデフォルト値はnullです。 これにより、bindingプロパティの値で列がソートされます。

visible

visible: boolean

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

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

visibleIndex

visibleIndex: number

非表示にした要素(isVisible )を無視し、親コレクション内の行または列のインデックスを取得します。

width

width: any | null

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

列の幅は、正の数値(列幅のピクセル数を設定)、nullまたは負の数値(コレクションのデフォルトの列幅を使用)、 または'{number}*'形式の文字列(スターサイズ指定)にすることができます。

スターサイズ指定オプションを使用すると、星の前の数字に比例して 列の幅が決定されるXAMLスタイルの動的なサイズ設定が実行されます。たとえば、 グリッドに3つの列があり、それぞれの幅が"100"、"*"、"3*"に設定されている場合、最初の列の幅は100ピクセルになり、 2列目は残りスペースの1/4、3列目は残りスペースの3/4を占めます。 スターサイズ指定を使用すると、使用可能な幅いっぱいに自動的に広がる列を定義できます。

たとえば、最後の列の幅を"*"に設定すると、最後の列がグリッドの幅いっぱいに 拡張されて空スペースがなくなります。また、列の minWidth プロパティを設定して列の幅が狭くなりすぎないようにすることもできます。

renderWidthプロパティを使用して、 可視性、星のサイズ、最小/最大制限、およびデフォルトの幅設定を考慮して、 列の実際の幅を取得できます。

このプロパティのデフォルト値はnullです。 これにより、グリッドのFlexGrid.columnsコレクションで定義された デフォルトの列幅が使用されます。

wordWrap

wordWrap: boolean

この列または行のセルの内容を使用可能な列幅に収まれるように ラップするかどうかを示す値を取得または設定します。

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

メソッド

getAlignment

  • getAlignment(row?: Row): string
  • 列または行内の項目の実際の配置を取得します。

    align プロパティがnullでない場合はその値が返されます。それ以外の場合は、列のdataType に基づいて配置が選択されます。

    引数

    • オプション row: Row

      チェックされているセルを含む行。

    戻り値 string

    セルの配置を表す文字列。

getIsRequired

  • getIsRequired(row?: Row): boolean
  • 列または行の値が必須かどうかを決定する値を取得します。

    isRequired プロパティがnullでない場合は、その値が返されます。 そうでない場合は、列の dataType に基づいて必須状態が判定されます。

    デフォルトでは、文字列の列は、 dataMap または mask; 値が設定されていない限り 必須ではありません。他のすべてのデータ型は必須です。

    引数

    • オプション row: Row

      チェックされているセルを含む行。

    戻り値 boolean

    値が必要な場合はtrue、それ以外の場合はfalse。

onGridChanged

onPropertyChanged

  • onPropertyChanged(): void
  • オーナーリストをダーティとしてマークし、オーナーグリッドを更新します。

    戻り値 void

イベント

gridChanged

gridChanged: Event<RowCol, EventArgs>

grid プロパティの値が変更されたときに発生します。