dataLoadCoordinator
dataLoadCoordinator facet 支持触发数据加载,以及声明式的将数据加载器和数据容器、可视化组件、视图生命周期事件进行连接。
基本用法
如需在视图的 BeforeShowEvent 事件触发所有的数据加载器,只需在视图的 XML 描述中添加 dataLoadCoordinator,其属性 auto="true":
<facets>
<dataLoadCoordinator auto="true"/>
</facets>
工作模式
可以配置 dataLoadCoordinator 在自动、手动或半自动模式下工作。
自动模式
此模式中,dataLoadCoordinator 依赖使用特定前缀的参数名称。前缀表示产生参数值和变更事件的组件。如果加载器的查询语句中没有参数(尽管在查询条件中可能有参数),则该加载器会在 BeforeShowEvent 中自动刷新。
默认情况下,数据容器的参数前缀是 container_,可视化组件的参数前缀是 component_。通过 componentPrefix 和 containerPrefix 属性可以使用不同的前缀。
手动模式
此模式中,使用内部的 refresh 元素定义数据加载器何时触发刷新。
refresh 元素
refresh 元素支持为数据加载器定义刷新的条件。
该元素的唯一属性是 loader,定义加载器的 id。
refresh 元素可以有下列内部的元素,用于定义触发条件:
-
onComponentValueChanged- 当可视化组件的值改变时触发加载器。有下列属性:-
component- 指定可视化组件的id。
-
likeClause- 如果在查询条件中使用like表达式,可以定义下面三种搜索模式之一:-
NONE- 默认值。 -
CASE_SENSITIVE- 大小写敏感。 -
CASE_INSENSITIVE- 大小写不敏感。
-
-
param- 指定查询参数名称。
-
-
onContainerItemChanged- 当数据容器中的内容改变时触发加载器。有下列属性:-
container- 指定数据容器的id。
-
param- 指定查询参数名称。
-
-
onViewEvent- 在视图生命周期事件中触发加载器。有下列属性:-
type- 定义视图事件的类型,可能值:-
Init- 在InitEvent事件中触发。 -
BeforeShow- 在BeforeShowEvent事件中触发。 -
Ready- 在ReadyEvent事件中触发。
-
-