当我们使用增长时,sap.ui.comp.smarttable.SmartTable显示错误的行计数

时间:2018-05-31 14:41:13

标签: sapui5

当我设置growing="true"时,smarttable显示错误的行数。我该如何解决?

enter image description here

documentations中说:

  

为了避免发送专用的OData请求以提高应用程序的性能,您必须根据需要配置表的绑定。

似乎通过配置smarttable的绑定这个问题是可以解决的!但我怎么能玩这个配置?任何人都可以提供一个例子吗?

1 个答案:

答案 0 :(得分:2)

我终于找到了关于这个问题的答案。

我发现行计数是以下函数返回的数字:

oTable.getBinding("items").getLength()

oTable是智能表中的内部表。

但是实际上必须显示的是当前上下文的数量。

因此,如果将智能表的标题绑定到视图模型中的属性,则可以在每次内部表更新时对其进行更新。

<smartTable:SmartTable id="__smartTableWorklist0" header="{woklistView>/table0}" showRowCount="false" tableType="ResponsiveTable" .....>                                    
    <Table id="table0" growing="true" growingThreshold="50" updateFinished="onTableUpdateFinished"> ... </Table>

在控制器中,您必须更新header属性,如下所示:

onTableUpdateFinished: function (oEvent) {
    var oViewModel = this.getModel("woklistView");
    var oTable = this.byId("table0");
    oViewModel.setProperty("/table0", "Some Title (" + oTable.getBinding("items").getCurrentContexts().length + ")");
},