Data-view 在 Mendix 中更新实体时未更新

Data-view is not updating when entity is updated in Mendix

问题是:如何在 data-view 中以这样的方式显示数据,即如果更新了实体,那么数据视图也如何更新。

这是我的名为 latestReading 的实体。

这是我的页面 LatestReading,它显示了最新的阅读资料。它包含三个数据视图。

此页面未直接调用,因为它需要 object latestReading。因此执行名为 showLatestReadingPage 的 micro-flow 来获取或创建 latestReading object 并将其传递给 LatestReading 页面并显示 LatestReading 页面。

这是micro-flow.

getOrCreateLatestReading 是 micro-flow,returns 我们使用 latestReading object(如果可用)或创建一个新的 latestReading object 如果还没有创建然后 returns 它。

这是micro-flow.

这些是 LatestReading 页面中三个 data-view 中第一个的属性,如上图 LatestReading 页面所示。此 DataView 的名称是 TemperatureDataView

这些是 TemperatureDataView data-view 内的文本小部件的属性。它的名字是temperatureText。它显示 TemperatureDataView.

中的温度值

这是 temperatureText 文本小部件的标题:

问题是当另一个 micro-flow 更新 latestReading 的值时,文本小部件未更新。我需要再次单击 LatestReading 页面的导航 link 来重新加载它。

我需要我的数据视图中的文本小部件在更新我的其他 micro-flow

时保持更新 latestReading 的值

问题是“在客户端刷新”仅当微流在与用户正在查看的页面(客户端)相同的上下文中执行时才有效。例如,如果页面上有一个按钮触发刷新客户端的微流,那么它将更新小部件。但是,如果微流是由系统触发的(例如预定的事件),那么这些更改将处于不同的上下文中。此外,如果另一个用户触发刷新,它只会刷新该用户的客户端。此外,如果一个用户通过多个浏览器登录(即有多个会话,这也意味着对于每个会话都有不同的用户上下文。

在这种情况下,最简单的解决方案可能是使用应用商店小部件,它会定期触发数据视图中显示的对象的刷新,例如这个:https://appstore.home.mendix.com/link/app/27/。只需使用不更改属性但刷新对象的更改操作创建纳流或微流。