0
テーブルから選択したすべての項目を使用してodataモデルを読み込もうとしています。テーブルにはIDとNAMEと呼ばれる2つのキーがあり、キーのうちの1つのみにフィルタが必要なことがあります。 1つのフィルターのみを使用しても結果は変わりませんでした。同じ列に複数の値を設定するためのUI5フィルタ
次に、選択したすべてのアイテムのフィルタを作成します。その後、フィルタを使用してモデルから読み込みますが、常にテーブルの最初のエントリである1つの結果が返されます。
私はhereを見つけました。フィルターアレイを使用して別のフィルターを作成して、フィルターでANDまたはORを行うことができますが、何も変更はありませんでした。
var table = this.byId("table");
var items = table.getSelectedItems();
var filters = [];
for (var i = 0; i < items.length; i++) {
var item = items[i].getBindingContext().getObject();
var id = new Filter("ID", FilterOperator.Contains, item.ID);
var name = new Filter("NAME", FilterOperator.Contains, item.NAME);
filters.push(id);
filters.push(name);
}
var model = this.getOwnerComponent().getModel();
model.read("/assessments", {
filters: [new sap.ui.model.Filter(filters, false)],
success: function(odata) {
var results = odata.results;
}
}
投稿する前に検索しますか?考えられるdupe:https://stackoverflow.com/a/41785632/3309799 –