表动态加载SAPUI5 / UI5

时间:2014-10-23 15:57:08

标签: odata sap sapui5

我想在SAPUI5-Table组件中显示大量数据。我曾经用动态加载来实现这些数据表,这意味着表最初加载了~50条记录。用户向下滚动足够远后,下一组50条记录被加载到表中。通过这种方式,我可以显示超过160.000个条目的表,而不会出现任何性能问题。

现在我需要对SAPUI5-Table做同样的事情。我已经实现了服务器端,OData服务已经可以使用了。我已经实现了clientide但没有动态加载。页面总是尝试从数据库中加载所有记录。

我怎样才能做到这一点?有没有预先制定的方法来实现这个?我知道可以使用各种参数调用OData服务,这些参数指定它将提供的数据集,但我不知道在滚动时如何使表格成为这些调用?

1 个答案:

答案 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>");