documentation Angular2のKendoUIは、toODataStringメソッドが、提供された状態オブジェクトをoData v4互換文字列に変換すると述べています。
前記状態オブジェクトの構造は、hereと定義されている。
hereのように、データバインディングとサーバー側のページングを使用してAngular2グリッド用のKendoUIを設定しました。これは問題なく動作しています。
だから今、私はその状態にフィルタオブジェクトを追加したい、と私はそうするために、次のコードを使用しています:
private filter: CompositeFilterDescriptor;
public applyFilters(): void {
this.filter = {
logic: "and",
filters: []
};
this.skip = 0;
this.sort = [];
if (this.customerNameFilter) {
let fd: FilterDescriptor = {
field: "name",
operator: "contains",
value: this.customerNameFilter,
ignoreCase: true
}
this.filter.filters.push(fd);
}
this.service.query({ skip: this.skip, take: this.pageSize, filter: this.filter });
}
service.query方法は、その後toODataStringメソッドを呼び出し、返されます以下のクエリ文字列(それがnullに評価され、何かを挿入しようとしたかのように二重のアンパサンドに注意してください):
$ = 0 $ &トップをスキップ= 15 & & $カウント=真
toODataStringメソッドに渡されたfilterDescriptorインスタンスの構造を示すデバッガーのスクリーンショットです。私がここで間違っていることをアドバイスしてください。