Widget 组件对象,由组件所在窗口 Entity 对象调用 getWidget() 方法,获得。如果是在自定义窗口中,那么 this 对象本身就是指该 widget 对象。
getSourceData(id[, criteria[, callback, errCallback]) 获取源数据。
- @param id
[required] 数据源 ID,由 Widget Configurator 配置生成。
@param criteria
[optional] 查询标准参数
- countRecords {boolean}
[optional] 是否要统计记录数,默认 false
- paged {Boolean}
[optional] 是否分页,默认 false
- page {Number}
[optional] 页号
- rowNum {Number}
[optional] 每页行数
- sortBy {String}
[optional] 排序字段
- format {String}
[optional] 数据返回格式: object | array 默认 object
- params {Object}
[optional] 指定参数,覆盖由系统自动捕获的参数上下文。
- metaData {Boolean}
[optional] 是否要求结果集中包含描述数据特征的元数据,默认 false
- filters {Object}`[optional] 过滤器,例:
{ "groupOp": "OR", // 条件运算: OR | AND "groups": [ // 条件组,相当于 SQL 条件加括号,可以递归地定义下去。 { "groupOp": "OR", "rules": [ { "field": "birth_place", "op": "eq", "data": "浙江" } ], "groups": [] } ], "rules": [ // 条件数组,每个元素是一个单独的条件 { "field": "id", // 字段 "op": "eq", // 操作,取值含义对照: // eq 等于, ne 不等于, lt 小于, le 小于等于, gt 大于, ge 大于等于, bw 以开头, bn 不以开头, // ew 以结尾, en 不以结尾, cn 包含, nc 不包含, nu 为空, nn 不为空, in 在集合中, nn 不在集合中 "data": 1 //数据 }, { "field": "id", "op": "eq", "data": 2 } ] }
- countRecords {boolean}
@param callback {Function}
[required] 结果回调函数,参数即为请求的数据,结构如下:
{ rows:[...], paged: false, page: 1, rowNum: 15, records: 1321, metaData: [ {name:'id', dbType: 'CHAR', varType: 'string'}, ... ] }
- @param errCallback {Function}
[optional] 请求发生错误时的回调处理函数,参数为错误信息
【getSourceData 例】
var win = Enhancer.getEntityByNumber(11);
var widget = win.getWidget();
var criteria = {
paged: true,
page: 1,
rowNum: 30,
filters: {
groupOp: 'OR',
rules: [{
field: 'id',
op: 'eq',
data: '32767'
}, {
field: 'name',
op: 'cn',
data: '张'
}]
}
};
widget.getSourceData(1, criteria, function(data) {
alert('成功获取记录 ' + data.rows.length + ' 条');
}, function(result) {
alert('出错了!');
});