我想在SAPUI5-Table组件中显示大量数据。我曾经用动态加载来实现这些数据表,这意味着表最初加载了~50条记录。用户向下滚动足够远后,下一组50条记录被加载到表中。通过这种方式,我可以显示超过160.000个条目的表,而不会出现任何性能问题。
现在我需要对SAPUI5-Table做同样的事情。我已经实现了服务器端,OData服务已经可以使用了。我已经实现了clientide但没有动态加载。页面总是尝试从数据库中加载所有记录。
我怎样才能做到这一点?有没有预先制定的方法来实现这个?我知道可以使用各种参数调用OData服务,这些参数指定它将提供的数据集,但我不知道在滚动时如何使表格成为这些调用?
答案 0 :(得分:4)
通常,绑定到OData Model的表会为您完成大部分操作。
如果您使用的是sap.m.Table
,则可以查看growing
属性here。
可以在sap.m.Table
部分的Explored app中找到有关如何使用List
分页的示例。
使用sap.ui.table.Table
threshold
属性控制提取大小,并描述为here。此外,您可以选择navigationMode
。它既可以是Paginator,也可以是Scrollbar。
sap.ui.table.Table
的一个非常简单的示例如下所示:
var oModel = new sap.ui.model.odata.ODataModel("<yourURL>", true);
var oTable = new sap.ui.table.Table({
columns : [], //set up columns as usual
threshold : 50 //your fetch size here
});
oTable.setModel(oModel).bindRows("/<yourEntity>");