【问题标题】:how to refresh UI5 table from JSON Model after database insert using xsjs使用 xsjs 插入数据库后如何从 JSON 模型刷新 UI5 表
【发布时间】:2016-09-08 17:45:21
【问题描述】:

我需要使用 UI5 将新记录插入数据库。现在我已经在 UI5 中显示了一个表,显示了该数据库表中的现有数据。我使用 xsjs 作为后端服务并使用 JSON 模型来显示 UI5表。现在我必须在表中插入新记录。我在后端有一个 xsjs,它负责在 db 表中插入,但即使 db 表得到更新,我的 ui5 表数据在我重新加载页面之前保持不变。我无法直接从前端使用模型更新 UI5 表array.push 表单值,因为有某些元参数,例如由(当前用户)更新和在(时间戳)字段上更新,这些字段需要来自实时更新的值。请告诉我如何在记录插入时更新 UI5 表,而无需重新加载页面。

【问题讨论】:

  • 您可以通过调用loadData 使用来自后端的数据更新 JSONModel。详情可以查看文档:sapui5.hana.ondemand.com/#docs/api/symbols/…
  • 我已经检查过了,但是,表格没有被刷新。我们有什么方法可以在不刷新整个页面的情况下刷新表格?
  • 尝试刷新模型 oModel.refresh();

标签: javascript json sapui5 hana


【解决方案1】:

您可以每分钟或一段时间尝试获取增量并相应地更新您的数据,然后刷新模型。您可以使用 OData 过滤器http://www.odata.org/documentation/odata-version-2-0/uri-conventions/ 来确定在该时间段内生成了哪些记录。要过滤的字段取决于您的方案。

【讨论】:

    【解决方案2】:

    我会这样做(在 cnontroller 中):

    1. 创建 getData() 方法,该方法将触发对您的 xsjs 的 GET 请求
    2. create onGetDataComplete(data) 它将创建模型并将其设置到您的表中,并作为您在 getData() 上成功的回调执行
    3. 创建将发布到您的 xsjs 的 putData()
    4. 创建 onPutDataComplete(),它将作为对 putData() 成功的回调执行。在此方法中,您可以再次调用 getData() 并获得更新的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-11
      • 2015-02-02
      • 1970-01-01
      • 2013-12-02
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      相关资源
      最近更新 更多