Upshot RemoteDataSourceをフィルタリングしようとしています。 SetFilter機能で、私は、フィルタの配列を渡すことができますが、現時点では、私は(フィルタ1とフィルタ2)、または(フィルタ1ORフィルタ2を適用するかどうかを指定する方法はありません)。あなたが見ることができるようにUpshot setFilter
$.each(query.filters, function (index, filter) {
if (filterParameter) {
filterParameter += " and ";
}
filterParameter += applyOperator(filter.property, filter.operator, filter.value);
});
、「と」は結論にハードコーディングされています。なぜupshot.jsコードを見ると、それがはっきりと見えます。フィルタ間に"または"をサポートする他の方法はありますか?それとも手動で修正する必要がありますか?そして、修正する必要がある場合、最新のバージョンのアップショットに更新するときに、私の修正が破棄されないようにするための最良のアプローチは何ですか?
これは、ASP.NET forumsと同じ質問です。
これもオプションだと思いますが、ダイナミックなフィルタプロパティがあるときは、構築して維持するのが非常に難しいようです。とにかくハックだから、フィルターの間に 'と'や 'や'を設定する第4のパラメーターを考慮して、アップショット内のコードを変更する方が簡単です。 –
あなたの質問のコードはUpshotの "DataProvider.OData.js"部分から来ているようです。 RemoteDataSourceのコンストラクタを正しく読み込んだ場合、独自のカスタムdataProviderをパラメータとしてRemoteDataSourceに渡すことができます。これにより、メンテナンスの問題がなくても、フィルタリングすることができます –