我唯一需要知道的是,如果我可以为ComboBox中的项创建值,那么我认为我将能够完成手头的任务。我会做点什么:
var oItem1 = new sap.ui.core.ListItem("lab", {
text: 'Lab',
value: 'Lab'
});
var oItem2 = new sap.ui.core.ListItem("boxer", {
text: 'Boxer',
value: 'Boxer'
});
然后我会使用一个按钮来过滤表格,如下所示:
var oButton = new sap.ui.commons.Button({
text: "find",
styled: false,
press: function () {
var oFilter1 = new sap.ui.model.Filter("typeOfDog", sap.ui.model.FilterOperator.Contains, oItem1.getValue());
var oFilter2 = new sap.ui.model.Filter("typeOfDog", sap.ui.model.FilterOperator.Contains, oItem2.getValue());
var allFilter = new sap.ui.model.Filter([oFilter1, oFilter2], false);
oTable.getBinding("rows").filter(allFilter);
}
}).addStyleClass("searchButton").placeAt("search");
然而,这不起作用。我假设这是因为我无法为ListItem创建值。如果可以,我该怎么做?
编辑:有没有办法做一些类似CheckBox的方法,一个等效的方法.getChecked()?答案 0 :(得分:1)
我明白了。我使用了DropdownBox,并使用了以下代码:
oDropDown.attachChange(function () { oTable.getBinding("rows").filter(new sap.ui.model.Filter("payment", sap.ui.model.FilterOperator.EQ, oDropDown.getValue())); });
答案 1 :(得分:0)
我认为你也可以使用FacetFilters .FacetFilter由FacetFilterList组成,这些是表中的列。基于facetfilter表中选择的值将被过滤掉。