UNPKG

2.75 kBJavaScriptView Raw
1/**
2 * Module : kero dataTable simpleData
3 * Author : liuyk(liuyk@yonyou.com)
4 * Date : 2016-08-01 14:34:01
5 */
6import {isArray} from 'tinper-sparrow/src/util';
7
8/**
9 * 设置数据, 只设置字段值
10 * @memberof DataTable
11 * @param {array} data 数据信息
12 * @param {boject} [options] 可配置参数
13 * @param {boject} [options.unSelect=false] 是否默认选中第一行,如果为true则不选中第一行,否则选中第一行
14 * @example
15 * var data = [{
16 * filed1:'value1',
17 * field2:'value2'
18 * },{
19 * filed1:'value11',
20 * field2:'value21'
21 * }]
22 * datatable.setSimpleData(data)
23 * datatable.setSimpleData(data,{unSelect:true})
24 */
25const setSimpleData = function(data,options){
26 this.removeAllRows();
27 this.cachedPages = [];
28 this.focusIndex(-1);
29 this.selectedIndices([]);
30
31 this.setSimpleDataReal = [];
32 if (!data){
33 this.setSimpleDataReal = data;
34 // throw new Error("dataTable.setSimpleData param can't be null!");
35 return;
36 }
37
38 var rows = [];
39 if (!isArray(data))
40 data = [data];
41 for (var i =0; i< data.length; i++){
42 var _data = data[i];
43 /* 判断data中的字段在datatable中是否存在,如果不存在则创建 */
44 // for(var f in _data){
45 // this.createField(f)
46 // }
47 if (typeof data[i] !== 'object')
48 _data = {$data:data[i]}
49 rows.push({
50 status: Row.STATUS.NORMAL,
51 data: _data
52 })
53 }
54 var _data = {
55 rows: rows
56 }
57 if(options) {
58 if(typeof options.fieldFlag == 'undefined'){
59 options.fieldFlag = true;
60 }
61 }
62 this.setData(_data,options);
63};
64
65
66 /**
67 * 追加数据, 只设置字段值
68 * @memberof DataTable
69 * @param {array} data 数据信息
70 * @param {string} [status=nrm] 追加数据信息的状态,参照Row对象的状态介绍
71 * @param {boject} [options] 可配置参数
72 * @param {boject} [options.unSelect=false] 是否默认选中第一行,如果为true则不选中第一行,否则选中第一行
73 * @example
74 * var data = [{
75 * filed1:'value1',
76 * field2:'value2'
77 * },{
78 * filed1:'value11',
79 * field2:'value21'
80 * }]
81 * datatable.addSimpleData(data,Row.STATUS.NEW)
82 * datatable.addSimpleData(data, null, {unSelect:true})
83 */
84const addSimpleData = function(data, status, options){
85 if (!data){
86 throw new Error("dataTable.addSimpleData param can't be null!");
87 }
88 if (!isArray(data))
89 data = [data];
90 for (var i =0; i< data.length; i++){
91 var r = this.createEmptyRow(options);
92 r.setSimpleData(data[i],status);
93 }
94
95}
96
97export const simpleDataFunObj = {
98 setSimpleData:setSimpleData,
99 addSimpleData:addSimpleData
100}