5.20202.724
wijmo.grid.filter Class ValueFilter Wijmo API クラス

ValueFilter クラス

FlexGrid コントロールの列の値フィルタを定義します。

値フィルタには、グリッドに表示する値の明示的なリストが含まれます。

階層

コンストラクタ

constructor

  • ValueFilter クラスの新しいインスタンスを初期化します。

    引数

    • column: Column

      フィルタリングする列。

    戻り値 ValueFilter

プロパティ

column

column: Column

フィルタリングするColumn を取得します。

dataMap

dataMap: DataMap

未加工の値をこのフィルタを編集する際に表示される表示値に変換するために使用されるDataMap を取得または設定します。

exclusiveValueSearch

exclusiveValueSearch: boolean

フィルターにfilterText プロパティによって選択された値のみを含めるかどうかを決定する値を取得または設定します。

このプロパティはデフォルトでtrueに設定されています。この動作はExcelと同じです。 この動作を無効にするには、このプロパティをfalseに設定します。 その場合、リストに表示される項目のみが検索され、 フィルタに含まれる項目が検索されません。

filterText

filterText: string

表示値のリストのフィルタリングに使用される文字列を取得または設定します。

isActive

isActive: boolean

このフィルタがアクティブかどうかを示す値を取得します。

一部の値が選択され、一部が選択されていない場合、フィルタはアクティブです。 すべての値が同じ状態(選択した状態または選択解除した状態)の場合、フィルタはアクティブではありません。

maxValues

maxValues: number

表示値のリスト内にある要素の最大数を取得または設定します。

非常に多くの項目をリストに追加すると、検索が困難になり、パフォーマンスが損なわれます。 このプロパティは任意の時点で表示される項目数を制限しますが、 ユーザーは検索ボックスを使用して目的の項目をフィルタ処理することができます。

このプロパティは、デフォルトでは250に設定されます。

次のコードは、この値を1,000,000に変更し、事実上、フィールドのすべての一意の値を一覧します。

import { FlexGridFilter} from '@grapecity/wijmo.grid.filter';

// 'id'列のmaxItemsプロパティを変更します
let f = new FlexGridFilter(theGrid);
f.getColumnFilter('id').valueFilter.maxValues = 1000000;

showValues

showValues: any

値リストに選択された(チェックされた)値を持つオブジェクトを 取得または設定します。

フィルタがアクティブでない場合、このプロパティはnullに設定され、 データソースに存在するすべての値がリストに表示されます。

フィルタがアクティブな場合(ユーザーがリストから一部の値を選択した場合)、showValuesプロパティは、 プロパティ名が選択された値の表示値であるオブジェクトに設定されます。

たとえば、値リストに国名が含まれていて、「米国」と「日本」を選択した場合、showValuesプロパティは次を返します。

{ 日本: true, 米国: true }

sortValues

sortValues: boolean

エディタに表示するときに値をソートするかどうかを決定する値を取得または設定します。

uniqueValues を使用して値のカスタムリストを提供した上、 それらの値の順序を維持したい場合、このプロパティは特に便利です。

uniqueValues

uniqueValues: any[]

リストに表示する一意の値を含む配列を取得または設定します。

このプロパティがnullに設定されている場合、リストには、グリッドデータに基づいて値が挿入されます。

データからリストを作成するより、一意の値のリストを明示的に割り当てる方が 効率的です。また、データがサーバー上でフィルタ処理される場合、値フィルタが 適切に動作するには、そうする必要があります(この場合、一部の値が クライアント上に存在しない可能性があり、リストが不完全になるため)。

デフォルトでは、フィルタエディタは、一意の値をユーザーに表示する際に値をソートします。 この動作を抑止して、指定した順序で値を表示する場合は、 sortValues プロパティをfalseに設定します。

たとえば、次のコードは、ValueFilter で'country'フィールドに連結された列に 使用される国名リストを提供します。

import { FlexGridFilter} from '@grapecity/wijmo.grid.filter';

// FlexGridのフィルタを作成します
let filter = new FlexGridFilter(grid);

// 一意の値のリストを国フィルタに割り当てます
let cf = filter.getColumnFilter('country');
cf.valueFilter.uniqueValues = ['Austria', 'Belgium', 'Chile', 'Denmark'];

メソッド

apply

  • apply(value: any): boolean
  • 値がフィルタに合致するかどうかを示す値を取得します。

    引数

    • value: any

      テストする値。

    戻り値 boolean

clear

  • clear(): void
  • フィルタをクリアします。

    戻り値 void

getUniqueValues

  • getUniqueValues(filtered?: boolean): any[]
  • このcolumnのすべての一意の値を表す オブジェクトを含む配列を取得します。

    返される配列内のオブジェクトには、 value(データ値)およびtext(書式設定されているデータ値)プロパティが含まれます。

    uniqueValuesプロパティが値の配列に設定されている場合、その配列はデータソースとして使用されます。

    uniqueValuesがnullの場合、メソッドはデータソース内のすべての項目をスキャンし、 すべての一意の値を含む配列を作成して返します。

    このメソッドは、ValueFilterEditorクラスで使用され、 ユーザーに表示される値のリストを設定します。

    引数

    • オプション filtered: boolean

      データソースから値を取得するときに他のすべてのフィルタを適用するかどうか。

    戻り値 any[]

implementsInterface

  • implementsInterface(interfaceName: string): boolean
  • このオブジェクトが指定したインタフェースをサポートしている場合、trueを返します。

    引数

    • interfaceName: string

      調べるインタフェースの名前。

    戻り値 boolean