代码之家  ›  专栏  ›  技术社区  ›  MJBZA

sap.ui.comp.smarttable.smarttable使用growing on时显示错误的行数

  •  0
  • MJBZA  · 技术社区  · 7 年前

    当我设置 growing="true" smarttable显示了错误的行数。我怎样才能修好它?

    enter image description here

    documentations 上面写着:

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

    通过配置smarttable的绑定,这个问题似乎是可以解决的!但我怎么能玩这个配置呢?有人能给我举个例子吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   MJBZA    6 年前

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

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

    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 + ")");
    },
    
    推荐文章