[]
アクティブなColumnFilterEditor を取得します。
このプロパティを使用すると、filterChanging イベントを処理するときに フィルターエディターをカスタマイズできます。 フィルターが編集されていない場合はnullを返します。
使用するデフォルトフィルタタイプを取得または設定します。
この値は特定の列のフィルタでオーバーライドできます。 たとえば、以下のサンプルコードは、 "ByValue"列を除くすべての列に対して条件に基づくフィルタを作成します。
import { FlexGridFilter, FilterType } from '@mescius/wijmo.grid.filter';
let filter = new FlexGridFilter(flex);
filter.defaultFilterType = FilterType.Condition;
let col = flex.getColumn('ByValue'),
cf = filter.getColumnFilter(col);
cf.filterType = FilterType.Value;
このプロパティのデフォルト値は FilterType.Both です。
プログラムによるアクセスに使用されるWijmo editingFilterイベントのAngular(EventEmitter)バージョン。 コードでこのイベントのAngularバージョンをサブスクライブする場合は、このイベント名を使用してください。 テンプレート連結では、通常のeditingFilter Wijmoイベント名を使用してください。
フィルターにValueFilter.filterText プロパティによって選択された値のみを含めるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はtrueです。この動作はExcelと同じです。 この動作を無効にするには、このプロパティをfalseに設定します。 その場合、リストに表示される項目のみが検索され、 フィルタに含まれる項目が検索されません。
プログラムによるアクセスに使用されるWijmo filterAppliedイベントのAngular(EventEmitter)バージョン。 コードでこのイベントのAngularバージョンをサブスクライブする場合は、このイベント名を使用してください。 テンプレート連結では、通常のfilterApplied Wijmoイベント名を使用してください。
プログラムによるアクセスに使用されるWijmo filterChangedイベントのAngular(EventEmitter)バージョン。 コードでこのイベントのAngularバージョンをサブスクライブする場合は、このイベント名を使用してください。 テンプレート連結では、通常のfilterChanged Wijmoイベント名を使用してください。
プログラムによるアクセスに使用されるWijmo filterChangingイベントのAngular(EventEmitter)バージョン。 コードでこのイベントのAngularバージョンをサブスクライブする場合は、このイベント名を使用してください。 テンプレート連結では、通常のfilterChanging Wijmoイベント名を使用してください。
フィルタを持つ列の名前またはバインディングを含む配列を取得または設定します。
このプロパティをnullまたは空の配列に設定すると、 すべての列にフィルタが追加されます。
現在のフィルタ定義をJSON文字列として取得または設定します。
filterDefinition には、現在アクティブな列フィルターに関する情報が含まれます。 データマップはシリアル化できないため、dataMap プロパティは含まれていません。
このフィルタを所有するFlexGrid への参照を取得します。
このイベントは、コンポーネントがAngularによって初期化された後、つまり すべての連結プロパティが割り当てられ、子コンポーネント(ある場合)が初期化された後にトリガされます。
コンポーネントがAngularによって初期化されているかどうかを示します。 この値は、initializedイベントをトリガする直前にfalseからtrueになります。
更新された行にフィルタを適用するかどうかを示す値を取得または設定します。
このプロパティが true に設定されている場合、行の更新、行の挿入、並べ替えなどの動作によってフィルタが更新され、フィルタを通過しない行は絞り込まれます。 このプロパティが false に設定されている場合、フィルタはすぐには適用されないため、フィルタを更新するには適用ボタンを再度クリックする必要があります。 Excel の完全な動作を実現するには、CollectionView のCollectionView.refreshOnEdit プロパティを false に設定する必要もあります。
// FlexGridの場合
flexgrid.collectionView.refreshOnEdit = false;
// FlexSheetの場合
flexSheet.itemsSourceChanged.addHandler((s, e) => {
if(s.collectionView){
s.collectionView.refreshOnEdit = false;
}
});
このプロパティのデフォルト値はfalseです。
FlexGridFilter がグリッドの列ヘッダにフィルタ編集ボタンを追加するかどうかを示す値を取得または設定します。
このプロパティをfalseに設定した場合は、ユーザーがフィルタを編集、クリア、 および適用する手段を開発者が提供する必要があります。
このプロパティのデフォルト値は true です。
フィルタエディタにソートボタンが表示されるかどうかを示す値を取得または設定します。
デフォルトでは、エディタにはExcelと同じようにソートボタンが表示されます。 しかし、ユーザーはヘッダをクリックすることによって列をソートできるので、 フィルタエディタにソートボタンがあるのは望ましくない場合があります。
このプロパティのデフォルト値は true です。
このコンポーネントの割り当て先のプロパティの名前を取得または設定します。 デフォルト値は「''」です。
現在の列フィルタをグリッドに適用します。
すべての列フィルタをクリアします。
フィルタエディタを閉じます。
Wijmoコンポーネントから継承されるカスタムコンポーネントを作成する場合は、このメソッドを
オーバーライドして、通常はクラスコンストラクタで行う必要な初期化を行うことができます。
このメソッドは、Wijmoコンポーネントコンストラクタの最後の行で呼び出され、
カスタムコンポーネントのコンストラクタを宣言しなくて済むようにします。これにより、
コンストラクタのパラメータを保持したり、Wijmoコンポーネントのコンストラクタパラメータとの同期を維持する必要がなくなります。
指定したグリッド列のフィルタエディタを表示します。
編集するフィルタを含むColumn 。
フィルタ表示をトリガしたセルの範囲を含む wijmo.grid.HitTestInfo オブジェクト。
エディタの配置を設定するために参照として使用するHTMLElement。
指定した列のフィルタを取得します。
フィルタの適用先のColumn (または列名またはインデックス)。指定された列が存在しない場合、メソッドはnullを返します。
存在しない場合にフィルタを作成するかどうか。
editingFilter イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
exclusiveValueSearchChanged イベントを発生させます。
filterApplied イベントを発生させます。
filterChanged イベントを発生させます。
filterChanging イベントを発生させます。
イベントデータを含むCellRangeEventArgs 。
イベントがキャンセルされなかった場合は True です。
ユーザーが列フィルタを編集しようとしたときに発生します。フィルタのデフォルトの設定をオーバーライドする場合は、 このイベントを使用して列フィルタをカスタマイズします。
このイベントは、フィルターエディターが作成される前に発生します。 この時点では、activeEditorプロパティはnullです。 エディタをカスタマイズする場合は、filterChangingイベントを使用してください。
たとえば、以下のコードでは、値フィルターエディターで国名のリストをカスタマイズします。この場合、「Italy」が常に最初の値になります。
new FlexGridFilter(theGrid, {
editingFilter: (s, e) => {
if (e.getColumn().binding == 'country') {
// Italyから始まります。
let vals = ["Italy"];
// Italyを除き、他の一意の値を追加します
let valueFilter = s.getColumnFilter("country", true).valueFilter;
valueFilter.uniqueValues = null;
valueFilter.getUniqueValues().forEach(item => {
if (item.text != "Italy") {
vals.push(item.text);
}
});
// カスタムの一意の値リストをvalueFilterに割り当てます
valueFilter.uniqueValues = vals;
valueFilter.sortValues = false;
}
}
});
exclusiveValueSearchが変更された後に発生します。
フィルタが適用された後に発生します。
ユーザーが列フィルタを編集した後で発生します。
イベントパラメータを使用して、フィルタを所有する列を判定し、 変更が適用されたかキャンセルされたかを判定します。
ユーザーが列フィルタを編集しようとしたときに発生します。
デフォルト設定を上書きする場合は、このイベントを使用してフィルターエディターをカスタマイズします。 現在アクティブなフィルターエディターへの参照を取得するには、activeEditorプロパティを使用します。
たとえば、以下のコードでは、値フィルターエディターで国名のリストをカスタマイズします。 この場合、「Italy」が常に最初の値になります。
new FlexGridFilter(theGrid, {
filterChanging: (s, e) => {
if (e.getColumn().binding == "country") {
let edt = s.activeEditor,
lbHost = edt.hostElement.querySelector('[wj-part=div-values]'),
lb = Control.getControl(lbHost) as ListBox;
(lb.collectionView as CollectionView).sortComparer = (a: any, b: any) => {
if (a != b) { // 最初にItalyを並べ替えます。
if (a == 'Italy') return -1;
if (b == 'Italy') return +1;
}
return null; // デフォルトの並べ替え順を使用します。
}
lb.collectionView.refresh();
}
},
});
wijmo.grid.filter.FlexGridFilter クラスに対応するAngular 2コンポーネント。
wj-flex-grid-filter コンポーネントは、wijmo.angular2.grid.WjFlexGrid コンポーネントに含める必要があります。
wj-flex-grid-filter コンポーネントを使用して、Angular 2アプリケーションに FlexGridFilter コントロールを 追加できます。Angular 2マークアップの構文については、 「Angular 2マークアップ構文」を参照してください。
WjFlexGridFilter コンポーネントは、FlexGridFilter クラスから派生され、 そのすべてのプロパティ、イベント、およびメソッドを継承しています。