Dataset监听器用于监听Dataset中的各种事件,在某些书籍中的术语叫回调机制。
在AJAX应用中监听器的作用更像是一个服务器端的服务接口。随时为dataset的数据请求和数据保存等各种动作提供服务。
例如dataset数据翻页时或dataset的数据保存时。都会触发监听器各种事件。Dataset通过listener属性定义监听器对象,如在xml中定义listener则范例代码如下:
<Dataset id="datasetDegree" type="Custom" listener="sample.HR_datasetDegreeListener"> |
其中HR_datasetDegreeListener是一个java类,继承自com.bstek.dorado.data.AbstractDatasetListener抽象类。示例代码如下:
package sample;
|
该类中实现了afterLoadData方法,该方法是dataset实现数据加载时调用的方法。我们在这个方法中给dataset添加一些数据。添加数据结束后dataset会自动地将数据push到客户端。
监听器可以实现的监听事件主要有:
字段创建事件
当dataset执行createFields时触发的事件,在监听器中加入了两个事件接口:
beforeCreateFields
当Dataset将要自动创建所有字段之前触发的事件.即当调用Dataset.createFields()之前触发的事件.
afterCreateFields
当Dataset执行完自动创建所有字段之后触发的事件.即当调用Dataset.createFields()之后触发的事件.
数据导入事件
当dataset利用自身的配置信息从外部导入数据时发生,数据导入动作在AJAX技术是最经常使用的动作,也是服务器端编程的重要接口。开发人员可以在该处获取客户端的请求参数信息,并加以处理,用自定义的逻辑返回数据提供给客户端。
该事件比较典型的发生场景为客户端的flushData动作,主从表联动操作,数据树的延迟加载动作,联动下拉框操作等等都会出发服务器端的数据加载动作。如果此时对产生数据导入事件的dataset配置了监听器,则系统就会自动出发beforeLoadData以及afterLoadData事件。
beforeLoadData
详细参考Server-API。
afterLoadData
详细参考Server-API。
数据保存事件
与数据导入事件一样,数据集执行数据保存时触发beforeUpdateData,afterUpdateData事件。
beforeUpdateData
详细参考Server-API。
afterUpdateData
详细参考Server-API。