【问题标题】:How to automatically refresh an interactive grid after clicking on save button or at a fixed interval?单击保存按钮后或以固定时间间隔如何自动刷新交互式网格?
【发布时间】:2020-06-17 14:07:26
【问题描述】:

我在顶点页面上有一个页面项目和一个交互式网格。页面项目是选择列表类型,并根据选择网格中的数据发生变化。我在网格中有默认的 Add row 按钮来添加行。单击网格中的 SAVE 按钮后,我想刷新网格。如果网格在固定间隔(比如 2 或 5 秒)后自动刷新,这对我也有好处。

对于当前场景,行正在添加,但在单击 SAVE 后并未反映在交互式网格中的页面上,但可以在数据库的表中找到条目。重新加载页面后,条目将反映在网格中。

注意:我正在通过数据库链接获取数据。

【问题讨论】:

  • 我不太了解你的情况。据我所知,交互式网格中的 add row 按钮会在交互式网格中添加一个空的新行。按下 SAVE 按钮后,您的更改将被存储。 SAVE 按钮是否在视觉上删除了添加的行?或者您是否使用交互式报告而不是交互式网格? 添加行按钮将打开一个新的模式窗口,您可以在其中输入详细信息,然后按 SAVE 后,模式关闭,您希望新行自动显示在报告中吗?
  • 是的,理想情况下它应该将添加的行保存在网格中,但对我来说,在视觉上单击“保存”按钮后,该行将从网格中删除,并且在重新加载页面后只有它可见。我相信这是因为我我正在处理一个数据库链接,因此行没有在网格中返回。

标签: javascript oracle plsql oracle-apex oracle-apex-5.1


【解决方案1】:

有一种方法可以挂钩交互式网格的内置保存操作。

以下步骤将创建一个自定义事件,监听 interactivegridsave 事件。在交互式网格完成自己的保存过程后,APEX 会触发该事件。确保事件名称拼写正确。

  • 创建动态操作
    • 何时 → 自定义
    • 自定义事件 → interactivegridsave
    • 选择类型 → 区域
    • 地区 →
      • 刷新操作(可能关闭 Fire on Initialization)

我想这会对你有所帮助。

【讨论】:

    【解决方案2】:

    当您向交互式网格添加行并点击保存按钮时,它会刷新并且您可以看到 IG 已更新。

    如果您需要每 5/10 秒刷新一次区域或页面,请按照以下步骤操作:

    1. 为 IG 定义静态 ID,例如“IG1”。
    2. 在页面属性中,导航到页面加载时执行并输入:

      var model = apex.region("IG1").widget().interactiveGrid("getViews").grid.model;

      setInterval(function(){ model.fetchRecords(model._data); }, 10000);

    这将每 10 秒刷新一次 IG。您可以将其设置为 2 或 5 秒。

    【讨论】:

    • 只要交互式网格处于只读模式,这将起作用。想想启用编辑时会发生什么,您当前正在编辑数据并且每 x 秒触发一次刷新。你应该放弃你的改变吗?它应该每次都问该怎么做吗?我不认为这是要走的路。
    • @Monica Godboy - 我已按照您的步骤操作,但并没有解决问题。虽然我在设定的时间间隔后看到了刷新,但它不会在刷新时获取数据。网格也可以编辑。
    • @Giliam - 在网格上启用了编辑,并且您指向的问题仍然存在。你有解决方案吗。我认为刷新应该只在点击保存后触发。
    【解决方案3】:

    我有一些与过滤器类似的东西,如果我添加了一个由于过滤器而不应显示的行,它仍然会存在,直到我刷新。也许如果我改变了一些东西让它不再出现,它保存了,但仍然出现了。

    我所做的是保存后提交页面。

    我有一个点击选择类型 jQuery 选择器的动态操作,选择器是 [data-action="save"]

    那么操作就是提交页面。

    这样点击保存后,它会提交整个页面并重新加载。 希望这能满足您的需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 2019-09-05
      • 1970-01-01
      • 2019-08-22
      相关资源
      最近更新 更多