我想对已在xml中创建的 sap.m.Table 进行过滤,排序和分页。该表具有关联的ODataModel。表格如下:
<Table
id="tableResults"
items="{
path: 'PROJECTS>/ZPS_F_PROJECTSLISTSet'
}">
<columns>
...
</columns>
<items>
...
</items>
我通过执行以下操作来过滤结果:
var aFilter = [];
aFilter.push(new Filter("IdProject", FilterOperator.EQ, "PJ-0100"));
this.byId("tableResults").getBinding("items").filter(aFilter);
我的问题是,我们可以做类似的事情来对表格进行排序和分页吗? 我试着做以下事情:
var oSorter = new sap.ui.model.Sorter("IdProject", true);
this.byId("tableResults").getBinding("items").sorter(oSorter); // KO
this.byId("tableResults").skip(0); //KO
this.byId("tableResults").top(10); //KO
但这些方法不存在。
我期待你的回答。
谢谢。
答案 0 :(得分:2)
你很近:它的sort(oSorter)用于排序。
但是没有跳过和顶级方法。 ODataModelListBinding
的{{3}}和v2都不支持显式$top
和$skip
查询参数。
然而,通过sap.m.Table
的{{3}}属性支持一种分页。如果ListBinding处于v4模式,则通过$top
和$skip
OData查询参数完成此操作。