问题是:如何以这样的方式在数据视图中显示数据:如果更新实体,那么也会如何更新数据视图。
这是我的名为latestReading
的实体。
这是我的页面LatestReading
,其中显示了最新的阅读材料。它包含三个数据视图。
由于需要对象latestReading
,因此未直接调用此页面。因此,执行了一个名为showLatestReadingPage
的微流程,该流程将获取或创建latestReading
对象并将其传递到LatestReading
页面并显示LatestReading
页面。
这是微流。
getOrCreateLatestReading
是一个微流程,它向我们返回一个latestReading
对象(如果可用),或者创建一个新的latestReading
对象(如果尚未创建然后返回)。 / p>
这是微流。
这些是LatestReading
页面中三个数据视图中第一个的属性,如上面LatestReading
页面所示。此DataView的名称为TemperatureDataView
这些是TemperatureDataView
数据视图内的文本窗口小部件的属性。名称为temperatureText
。它在TemperatureDataView
中显示温度值。
这是temperatureText
文本小部件的标题:
问题是当另一个微流更新latestReading
的值时,文本小部件未更新。我需要通过再次单击LatestReading
页面的导航链接来重新加载它。
我需要在数据视图中使用文本小部件来在更新其他一些微流程时保持latestReading
的更新值
答案 0 :(得分:1)
问题在于,只有在与用户所看到的页面(客户端)相同的上下文中执行微流时,“刷新客户端”才有效。例如,如果页面上有一个按钮触发微流来刷新客户端,那么它将更新小部件。但是,如果微流是由系统触发的(例如预定事件),则这些更改将处于不同的上下文中。同样,如果另一个用户触发刷新,则只会刷新该用户的客户端。同样,如果一个用户通过多个浏览器(即有多个会话)登录,这也意味着对于每个会话,都有不同的用户上下文。
在这种情况下,最简单的解决方案可能是使用一个appstore小部件,该小部件定期触发数据视图中显示的对象的刷新,例如:https://appstore.home.mendix.com/link/app/27/。只需使用更改动作创建纳流或微流,该动作不会改变属性,而是会刷新对象。