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
      }
      ]
      }
      
  • @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('出错了!');
});

results matching ""

    No results matching ""