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

Oracle APEX 23.2:如何检查交互式网格数据是否完全加载?

在Oracle APEX 23.2中主动检查交互式网格数据是否完全加载

在APEX 23.2里,你可以通过以下几种方式主动检查交互式网格(IG)的数据是否已完全加载:

  • 借助交互式网格JavaScript API直接判断
    先获取网格实例,再结合数据记录和加载状态类来验证:

    // 获取目标交互式网格的实例
    const igInstance = apex.region("STATIC_ID").widget().interactiveGrid("getViews", "grid");
    // 组合判断数据是否加载完成
    const isDataLoaded = igInstance.model.getRecords().length > 0 && !igInstance.view$.hasClass("apex-loading");
    

    逻辑说明:

    • igInstance.model.getRecords() 返回网格中的数据记录数组,长度大于0表示已有数据
    • igInstance.view$.hasClass("apex-loading") 检查网格是否处于加载状态,无该类则加载完成
  • 提前监听加载事件并标记状态
    若需要在多处检查,可先通过事件监听记录加载状态,后续直接读取该状态变量:

    let isIgDataLoaded = false;
    const targetIgRegion = apex.region("STATIC_ID");
    
    // 监听网格数据加载完成事件
    targetIgRegion.widget().interactiveGrid("getViews", "grid").model.subscribe({
      event: "fetchComplete",
      callback: function() {
        isIgDataLoaded = true;
      }
    });
    
    // 主动检查的方法
    function checkIgLoadedStatus() {
      return isIgDataLoaded && targetIgRegion.widget().interactiveGrid("getViews", "grid").model.getRecords().length > 0;
    }
    

    注意:fetchComplete事件会在每次数据加载(包括分页、刷新)完成后触发,能准确同步加载状态

  • 检查数据模型的加载属性
    直接通过模型的isLoading属性判断:

    const igModel = apex.region("STATIC_ID").widget().interactiveGrid("getViews", "grid").model;
    const isLoaded = !igModel.isLoading() && igModel.getRecords().length > 0;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:12:05