我想在 SAPUI5-Table 组件中显示大量数据。我曾经通过动态加载来实现这些数据表,这意味着该表最初加载了约 50 条记录。用户向下滚动足够远后,下一组 50 条记录将加载到表中。这样我就可以显示包含超过 160.000 个条目的表格,而不会出现任何性能问题。
现在我需要对 SAPUI5-Table 执行相同的操作。我已经实现了服务器端,OData 服务已经可以使用了。我已经实现了客户端,但没有动态加载。该页面始终尝试从数据库中加载所有记录。
我怎样才能做到这一点?有没有任何预制的方法来实现这个?我知道可以使用各种参数来调用 OData 服务,这些参数指定它将提供的数据集,但我不知道如何在滚动时将表设置为这些调用?
一般来说,一个表绑定到一个O数据模型 https://sapui5.netweaver.ondemand.com/sdk/#docs/api/symbols/sap.ui.model.odata.ODataModel.html为您做最大的事情。
如果您正在使用sap.m.Table
你可以看看growing
特性here https://sapui5.netweaver.ondemand.com/sdk/explored.html#/entity/sap.m.Table/properties.
有关如何使用分页的示例sap.m.Table
可以在探索的应用程序 https://sapui5.hana.ondemand.com/sdk/explored.html#/sample/sap.m.sample.ListGrowing/preview in the List
部分。
Using sap.ui.table.Table
the threshold
属性控制获取大小并进行了描述here https://sapui5.netweaver.ondemand.com/sdk/#docs/api/symbols/sap.ui.table.Table.html#getThreshold。此外,您还可以选择navigationMode
。它可以是分页器也可以是滚动条。
一个非常简单的例子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>");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)