带增长的sap.m.Table-加载所有数据吗?

2020-08-26 13:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在使用sap.m.Table(绑定到JSON模型)并启用了增长功能。

我想添加一个新按钮"全部加载",尽管行为是标准的,但该按钮将一次加载所有数据。

设置增长(是否通过临时禁用增长)后,是否可以立即加载所有数据?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在使用sap.m.Table(绑定到JSON模型)并启用了增长功能。

我想添加一个新按钮"全部加载",尽管行为是标准的,但该按钮将一次加载所有数据。

设置增长(是否通过临时禁用增长)后,是否可以立即加载所有数据?

付费偷看设置
发送
4条回答
天桥码农
1楼 · 2020-08-26 14:28.采纳回答

Shai,

非常有趣的问题! 我以前没有实现过这种功能,但是今天做了一些经验,它就可以了。

在视图中,首先定义一个按钮:

 <按钮text ="全部获取" press =" onFetchAll"/> 

然后,在控制器中实现Press Event:

 onFetchAll:function(oEvent){
   var oTable = this.getView()。byId(" idTable"); //替换表格的ID
   oTable.setGrowingThreshold(oTable.getMaxItemsCount()); //设置最大阈值
   oTable.getBinding(" items")。filter(); //刷新表
 },
 

filter()/sort()方法用于刷新表。 也许,有更好的方法可以做到这一点。

我希望它能为您提供帮助。

奄奄一息的小鱼
2楼-- · 2020-08-26 14:15

您好郝林志

当需要表中的所有绑定项目时,它都可以正常工作。

但是,如果sap.m.Table具有过滤器选项,它将不起作用。 在这种情况下,它将始终从模型中加载所有" N"条记录。

场景:

我有sap.m.Table,有500条记录并应用了过滤器。 需要从表格中下载过滤后的数据。

 onFetchAll:function(oEvent){
   var oTable = this.getView()。byId(" idTable"); //替换表格的ID
   var nGrowingThreshold = oTable.getGrowingInfo()。total; //总模型阈值为500
   oTable.setGrowingThreshold(nGrowingThreshold); //将默认阈值从100设置为500
   oTable.getBinding(" items")。filter(); //刷新表
  
   var aItems = oTable.getItems(); //始终返回所有500条记录
 },

上面的代码用所有模型数据刷新表并下载所有500条记录,而不是仅下载过滤的记录。 我正面临这样的问题。

请帮助我解决这个问题。

此致

Umesh

落灬小鱼
3楼-- · 2020-08-26 14:15

以下代码解决了我的问题。

 onFetchAll:function(oEvent){
   var oTable = this.getView()。byId(" idTable"); //替换表格的ID
   var nTableThreshold = oTable.getGrowingInfo()。total;
   oTable.setGrowingThreshold(nTableThreshold);
   oTable.getBinding(" items")。sort(); //刷新表
  
   var aItems = oTable.getItems(); //仅返回过滤的记录
 },
太Q了
4楼-- · 2020-08-26 14:36

正如 Haolin Zhi 所述,两者都过滤 和排序功能刷新表格。

如果您不想影响现有的排序/过滤器,则必须设置排序/过滤器的pass参数。

一周热门 更多>