You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取sap.ui.table.Table经排序筛选后的完整数据?

获取SAP UI5表格排序筛选后的全部数据方法

不用手动读取筛选值再自行过滤,直接通过表格的绑定对象就能拿到处理后的完整数据,步骤如下:

  • 首先获取表格的行绑定对象:
    const oBinding = oTable.getBinding("rows");
    
  • 调用绑定对象的getContexts()方法,该方法会返回当前经过排序、筛选后的所有数据上下文(本地JSONModel下无需额外参数,直接获取全部处理后数据):
    const aFilteredContexts = oBinding.getContexts();
    
  • 遍历上下文对象提取数据并计算总和:
    let total = 0;
    aFilteredContexts.forEach(oCtx => {
      const oItemData = oCtx.getObject();
      total += oItemData.targetNumericField; // 替换为你实际的数值字段名
    });
    

补充说明

如果使用的是服务器端模型(如ODataModel),由于默认可能存在分页,需要指定参数获取全部数据:

const totalCount = oBinding.getLength();
const aFilteredContexts = oBinding.requestContexts(0, totalCount);

getRows()仅返回可见行是因为UI5表格默认启用虚拟滚动,仅渲染当前视口内的行,而绑定对象中维护了经过排序、筛选后的完整数据集状态。

内容的提问来源于stack exchange,提问作者Roman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 20:20:54