【问题标题】:smarttable get all rowssmarttable 获取所有行
【发布时间】:2020-10-04 19:20:04
【问题描述】:

我在自定义应用程序(sapui5 版本 1.71)中有一个 SmartTable 控件(tableType="Table")。 xml 视图(主)有一个过滤器,当正确执行时,它会通过自定义 odata 服务带来数据并显示在表中。这部分按预期工作。表阈值设置为 10k。

我们没有选择主视图的智能表上的任何行(基础表具有 selectionMode="None")。 要求是在主视图上有一个“汇总”按钮,按下该按钮将显示一个汇总视图(路线导航),其中包含基于某些列(不是键)的汇总信息。

如何从 Main 的视图 smarttable 中获取所有数据?

底层表的getRows()方法只返回可见行。

我不想改用 ui.table.Table,因为 SmartTable 有一些不错的功能可以免费获得。

非常感谢, 沃伊切赫

【问题讨论】:

    标签: sapui5


    【解决方案1】:

    我有完全相同的要求。奇怪的是,UI5 让实现非常基本的东西变得如此困难。下面的代码来自我的项目,但它提供了基本要点:

                var allItems = oSmartTable.getTable().getItems();
                var highestSortOrder = 1;
                for (var i=0; i<allItems.length; i++) {
                    var anItem = allItems[i];
                    var sPath = anItem.getBindingContext().sPath;
                    var currentObject = oSmartTable.getModel().getObject(sPath);
                    var currentSortOrder = currentObject.SORTORDER;
                    if (null !== currentSortOrder) {
                        if (currentSortOrder > highestSortOrder) {
                            highestSortOrder = currentSortOrder;
                        }
                    }
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 2014-07-07
      • 2016-12-07
      相关资源
      最近更新 更多