1 | # DataTable
|
2 |
|
3 | ## 属性
|
4 |
|
5 | ### \# meta
|
6 |
|
7 | * 类型:`Object`
|
8 | * 说明:获取dataTable的所有字段属性信息
|
9 | * 用法:
|
10 |
|
11 | ```
|
12 |
|
13 | dataTable.meta
|
14 |
|
15 | ```
|
16 |
|
17 | ---
|
18 |
|
19 | ## 方法
|
20 |
|
21 | ### 创建dataTable
|
22 |
|
23 | #### \# u.DataTable
|
24 |
|
25 | * 类型:`Function`
|
26 | * 说明:创建dataTable
|
27 | * 用法:
|
28 |
|
29 | ```
|
30 |
|
31 | var dataTable = new u.DataTable({
|
32 | meta:{
|
33 | field1:{type:'string'},
|
34 | field2:{type:'date'}
|
35 | }
|
36 | })
|
37 |
|
38 | ```
|
39 |
|
40 | * 参数:
|
41 |
|
42 | `meta`: 字段信息集合,其中的key为字段名,value为字段属性信息,属性信息可自定义。详情请参考[模型定义](http://tinper.org/dist/kero/docs/datatable.html#模型定义)
|
43 |
|
44 |
|
45 |
|
46 | ### 行操作
|
47 |
|
48 | #### \# createEmptyRow
|
49 |
|
50 | * 类型:`Function`
|
51 | * 说明:创建新行,并追加到dataTable行数据集合的最后。
|
52 | * 用法:
|
53 |
|
54 | ```
|
55 |
|
56 | dataTable.createEmptyRow()
|
57 |
|
58 | ```
|
59 |
|
60 | * 返回值:
|
61 |
|
62 | `row`: 行对象
|
63 |
|
64 |
|
65 |
|
66 | #### \# removeRow
|
67 |
|
68 | * 类型:`Function`
|
69 | * 说明:根据索引值或者指定row对象,删除某一行
|
70 | * 用法:
|
71 |
|
72 | ```
|
73 |
|
74 | dataTable.removeRow(index)
|
75 |
|
76 | ```
|
77 | * 参数:
|
78 |
|
79 | `index` :要删除的行索引或者row对象
|
80 |
|
81 |
|
82 | #### \# removeRowByRowId
|
83 |
|
84 | * 类型:`Function`
|
85 | * 说明:根据行的id来删除行,删除某一行
|
86 | * 用法:
|
87 |
|
88 | ```
|
89 |
|
90 | dataTable.removeRowByRowId(rowId)
|
91 |
|
92 | ```
|
93 | * 参数:
|
94 |
|
95 | `rowId` :要删除的行id
|
96 |
|
97 | #### \# removeRows
|
98 |
|
99 |
|
100 | * 类型:`Function`
|
101 | * 说明:根据索引值删除一组行数据
|
102 | * 用法:
|
103 |
|
104 | ```
|
105 |
|
106 | dataTable.removeRows(indices)
|
107 |
|
108 | ```
|
109 | * 参数:
|
110 |
|
111 | `indices` : 要删除的行索引数组
|
112 |
|
113 | #### \# removeAllRows
|
114 |
|
115 | * 类型:`Function`
|
116 | * 说明:删除所有行数据
|
117 | * 用法:
|
118 |
|
119 | ```
|
120 |
|
121 | dataTable.removeAllRows()
|
122 |
|
123 | ```
|
124 | #### \# getRow
|
125 |
|
126 | * 类型:`Function`
|
127 | * 说明:根据索引获取Row对象
|
128 | * 用法:
|
129 |
|
130 | ```
|
131 |
|
132 | dataTable.getRow(index)
|
133 |
|
134 | ```
|
135 |
|
136 | * 参数:
|
137 |
|
138 | `index` :要获取行的索引
|
139 |
|
140 |
|
141 | #### \# getRowByRowId
|
142 |
|
143 | * 类型:`Function`
|
144 | * 说明:根据行id获取Row对象
|
145 | * 用法:
|
146 |
|
147 | ```
|
148 | dataTable.getRow(rowid)
|
149 |
|
150 | ```
|
151 |
|
152 | * 参数:
|
153 |
|
154 | `rowid` :要获取行的rowid
|
155 |
|
156 |
|
157 | #### \# getAllRows
|
158 |
|
159 | * 类型:`Function`
|
160 | * 说明:获取所有的Row对象
|
161 | * 用法:
|
162 |
|
163 | ```
|
164 | dataTable.getAllRows()
|
165 |
|
166 | ```
|
167 | #### \# getFocusRow
|
168 |
|
169 | * 类型:`Function`
|
170 | * 说明:获取焦点行
|
171 | * 用法:
|
172 |
|
173 | ```
|
174 | dataTable.getFocusRow()
|
175 |
|
176 | ```
|
177 | #### \# getCurrentRow
|
178 |
|
179 | * 类型:`Function`
|
180 | * 说明:获取当前行。规则: 焦点行优先,没有焦点行时,取第一选中行
|
181 | * 用法:
|
182 |
|
183 | ```
|
184 | dataTable.getCurrentRow()
|
185 |
|
186 | ```
|
187 |
|
188 | #### \# getSelectedRows
|
189 |
|
190 | * 类型:`Function`
|
191 | * 说明:获取所有选中行对象
|
192 | * 用法:
|
193 |
|
194 | ```
|
195 | dataTable.getSelectedRows()
|
196 |
|
197 | ```
|
198 |
|
199 | #### \# getChangedRows
|
200 |
|
201 | * 类型:`Function`
|
202 | * 说明:获取所有发生变化的Row对象
|
203 | * 用法:
|
204 |
|
205 | ```
|
206 | dataTable.getChangedRows()
|
207 |
|
208 | ```
|
209 | #### \# getFocusIndex
|
210 |
|
211 | * 类型:`Function`
|
212 | * 说明:获取焦点行对应的index
|
213 | * 用法:
|
214 |
|
215 | ```
|
216 | dataTable.getFocusIndex()
|
217 |
|
218 | ```
|
219 |
|
220 | #### \# getSelectedIndexs
|
221 |
|
222 | * 类型:`Function`
|
223 | * 说明:获取选中行的index
|
224 | * 用法:
|
225 |
|
226 | ```
|
227 | dataTable.getSelectedIndexs()
|
228 |
|
229 | ```
|
230 |
|
231 | #### \# setRowSelect
|
232 |
|
233 | * 类型:`Function`
|
234 | * 说明:根据索引值,设置行选中
|
235 | * 用法:
|
236 |
|
237 | ```
|
238 | dataTable.setRowSelect(index)
|
239 |
|
240 | ```
|
241 | * 参数:
|
242 |
|
243 | `index` :要选中的行索引
|
244 |
|
245 |
|
246 | #### \# setRowsSelect
|
247 |
|
248 |
|
249 | * 类型:`Function`
|
250 | * 说明:根据一组索引值,设置多行选中
|
251 | * 用法:
|
252 |
|
253 | ```
|
254 | dataTable.setRowsSelect(indices)
|
255 |
|
256 | ```
|
257 | * 参数:
|
258 |
|
259 | `indices` : 要选中的行索引数组
|
260 |
|
261 |
|
262 | #### \# addRowSelect
|
263 |
|
264 |
|
265 | * 类型:`Function`
|
266 | * 说明:在原有选中行的基础行,追加行选中
|
267 | * 用法:
|
268 |
|
269 | ```
|
270 | dataTable.addRowSelect(index)
|
271 |
|
272 | ```
|
273 | * 参数:
|
274 |
|
275 | `index` :要选中的行索引
|
276 |
|
277 |
|
278 | #### \# addRowsSelect
|
279 |
|
280 | * 类型:`Function`
|
281 | * 说明:在原有选中行的基础行,追加多行选中
|
282 | * 用法:
|
283 |
|
284 | ```
|
285 | dataTable.addRowsSelect(indices)
|
286 |
|
287 | ```
|
288 | * 参数:
|
289 |
|
290 | `indices` : 要追加的行索引数组
|
291 |
|
292 | #### \# setAllRowsSelect
|
293 |
|
294 | * 类型:`Function`
|
295 | * 说明:设置所有行为选中状态
|
296 | * 用法:
|
297 |
|
298 | ```
|
299 | dataTable.setAllRowsSelect()
|
300 |
|
301 | ```
|
302 | #### \# setRowUnSelect
|
303 |
|
304 | * 类型:`Function`
|
305 | * 说明:根据索引值,设置某行为非选中状态
|
306 | * 用法:
|
307 |
|
308 | ```
|
309 | dataTable.setRowUnSelect(index)
|
310 |
|
311 | ```
|
312 | * 参数:
|
313 |
|
314 | `index` :要取消选中的行索引
|
315 |
|
316 |
|
317 |
|
318 | #### \# setRowsUnSelect
|
319 |
|
320 | * 类型:`Function`
|
321 | * 说明:根据索引值,设置多行为非选中状态
|
322 | * 用法:
|
323 |
|
324 | ```
|
325 | dataTable.setRowsUnSelect(indices)
|
326 |
|
327 | ```
|
328 | * 参数:
|
329 |
|
330 | `indices` :行索引数组
|
331 |
|
332 |
|
333 |
|
334 | #### \# setAllRowsUnSelect
|
335 |
|
336 | * 类型:`Function`
|
337 | * 说明:设置所有行为非选中状态
|
338 | * 用法:
|
339 |
|
340 | ```
|
341 | dataTable.setAllRowsUnSelect()
|
342 |
|
343 | ```
|
344 |
|
345 | #### \# setRowFocus
|
346 |
|
347 | * 类型:`Function`
|
348 | * 说明:根据索引值,设置焦点行
|
349 | * 用法:
|
350 |
|
351 | ```
|
352 | dataTable.setRowFocus(index)
|
353 |
|
354 | ```
|
355 | * 参数:
|
356 |
|
357 | `index` :要设置焦点行的索引
|
358 |
|
359 |
|
360 |
|
361 | #### \# setRowUnFocus
|
362 |
|
363 | * 类型:`Function`
|
364 | * 说明:设置焦点行为非焦点状态
|
365 | * 用法:
|
366 |
|
367 | ```
|
368 | dataTable.setRowUnFocus()
|
369 |
|
370 | ```
|
371 |
|
372 |
|
373 | ### 数据操作
|
374 |
|
375 |
|
376 | #### \# getSimpleData
|
377 |
|
378 | * 类型:`Function`
|
379 | * 说明:获取dataTable中的数据
|
380 | * 用法:
|
381 |
|
382 | ```
|
383 |
|
384 | //默认获取所有数据
|
385 | dataTable.getSimpleData()
|
386 |
|
387 | //获取选中行的字段: field1,field2数据
|
388 | dataTable.getSimpleData({type:'select',fields:['field1,field2']})
|
389 |
|
390 | ```
|
391 |
|
392 | * 参数:
|
393 |
|
394 | `type`:获取指定类型的数据
|
395 |
|
396 | | 类型 | 作用 |
|
397 | | ------- | --------- |
|
398 | | all | 所有行的数据 |
|
399 | | current | 当前行的数据 |
|
400 | | focus | 焦点行的数据 |
|
401 | | select | 被选中的行的数据 |
|
402 | | change | 发生改变的行的数据 |
|
403 |
|
404 | `fields`:获取指定字段的数据
|
405 |
|
406 | * 返回值:
|
407 |
|
408 | `datas`: 数据数组
|
409 |
|
410 | #### \# setSimpleData
|
411 |
|
412 | * 类型:`Function`
|
413 | * 说明:设置dataTable中的数据,将原有数据清除。默认会选中第一行。
|
414 | * 用法:
|
415 |
|
416 | ```
|
417 | //给dataTable添加数据源,默认会选中第一行
|
418 | dataTable.setSimpleData([
|
419 | {"field1":"v1","field2":"v2"},
|
420 | {"field1":"v3","field2":"v4"}
|
421 | ])
|
422 |
|
423 | //取消默认的选中行
|
424 | dataTable.setSimpleData([
|
425 | {"field1":"v1","field2":"v2"},
|
426 | {"field1":"v3","field2":"v4"}
|
427 | ],{unSelect:true})
|
428 | ```
|
429 |
|
430 | * 参数:
|
431 |
|
432 | `{Array} data`:数据源
|
433 |
|
434 | `{Object} options`: 根据参数具体内容来设置数据源。例如:
|
435 | `{unSelect:true}`表示不选中第一行。
|
436 |
|
437 |
|
438 | #### \# addSimpleData
|
439 |
|
440 | * 类型:`Function`
|
441 | * 说明:在原有数据基础上,添加数据
|
442 | * 用法:
|
443 |
|
444 | ```
|
445 | dataTable.addSimpleData([
|
446 | {"field1":"v1","field2":"v2"},
|
447 | {"field1":"v3","field2":"v4"}
|
448 | ])
|
449 | ```
|
450 |
|
451 | #### \# clear
|
452 |
|
453 | * 类型:`Function`
|
454 | * 说明:清除dataTable中的所有数据
|
455 | * 用法:
|
456 |
|
457 | ```
|
458 | dataTable.clear()
|
459 | ```
|
460 |
|
461 | #### \# setValue
|
462 |
|
463 | * 类型:`Function`
|
464 | * 说明:设置当前行的字段值
|
465 | * 用法:
|
466 |
|
467 | ```
|
468 | datatable.setValue(fieldName, value)
|
469 |
|
470 | ```
|
471 |
|
472 | * 参数:
|
473 |
|
474 | `fieldName` : 字段名称
|
475 |
|
476 | `value`: 字段值
|
477 |
|
478 |
|
479 |
|
480 | #### \# getValue
|
481 |
|
482 | * 类型:`Function`
|
483 | * 说明:获取当前行字段的值
|
484 | * 用法:
|
485 |
|
486 | ```
|
487 | datatable.getValue(fieldName)
|
488 |
|
489 | ```
|
490 |
|
491 | * 参数:
|
492 |
|
493 | `fieldName`: 字段名
|
494 |
|
495 | * 返回值:
|
496 |
|
497 | `value`: 字段值
|
498 |
|
499 |
|
500 | #### \# ref
|
501 |
|
502 | * 类型:`Function`
|
503 | * 说明:以knockout语法做双向绑定,显示当前行的字段值
|
504 | * 用法:
|
505 |
|
506 | ```
|
507 | <label data-bind="text: dataTable.ref('fieldName')"></label>
|
508 |
|
509 | ```
|
510 |
|
511 | * 参数:
|
512 |
|
513 | `fieldName`: 字段名称
|
514 |
|
515 |
|
516 | ### 操作dataTable相关方法
|
517 |
|
518 |
|
519 | #### \# getMeta
|
520 |
|
521 | * 类型:`Function`
|
522 | * 说明:获取字段的属性信息(如:字段类型、精度信息等)
|
523 | * 用法:
|
524 |
|
525 | ```
|
526 | datatable.getMeta(fieldName, key)
|
527 |
|
528 | ```
|
529 |
|
530 | * 参数:
|
531 |
|
532 | `fieldName`: 字段名称
|
533 |
|
534 | `key` : 属性键值
|
535 |
|
536 | * 返回值:
|
537 |
|
538 | `metaValue`: 属性值
|
539 |
|
540 |
|
541 |
|
542 | #### \# setMeta
|
543 |
|
544 |
|
545 | * 类型:`Function`
|
546 | * 说明:设置字段的属性信息
|
547 | * 用法:
|
548 |
|
549 | ```
|
550 | datatable.setMeta(fieldName, key, value)
|
551 |
|
552 | ```
|
553 |
|
554 | * 参数:
|
555 |
|
556 | `fieldName`: 字段名称
|
557 |
|
558 | `key`: 属性键值
|
559 |
|
560 | `value`: 属性值
|
561 |
|
562 |
|
563 |
|
564 |
|
565 | #### \# setEnable
|
566 |
|
567 |
|
568 | * 类型:`Function`
|
569 | * 说明:设置dataTable是否可编辑
|
570 | * 用法:
|
571 |
|
572 | ```
|
573 | dataTable.setEnable()
|
574 |
|
575 | ```
|
576 |
|
577 | #### \# isEnable
|
578 |
|
579 | * 类型:`Function`
|
580 | * 说明:获取dataTable是否可编辑。如果传入field则获取对应field是否可编辑
|
581 | * 用法:
|
582 |
|
583 | ```
|
584 | dataTable.isEnable() 或 dataTable.isEnable('filed1')
|
585 |
|
586 | ```
|
587 |
|
588 | *参数:
|
589 |
|
590 | `field` :判断field是否可编辑(可选)
|
591 |
|
592 |
|
593 | ## 事件
|
594 |
|
595 | ## on
|
596 |
|
597 |
|
598 | * 类型:`Function`
|
599 | * 说明:添加相应的事件监听
|
600 | * 用法:
|
601 |
|
602 | ```
|
603 | datatable.on(eventName, callBack)
|
604 |
|
605 | ```
|
606 | * 参数:
|
607 |
|
608 | `eventName`: 事件名称
|
609 |
|
610 | `callBack`: 回调函数
|
611 |
|
612 | 支持的事件类型:
|
613 |
|
614 | | 事件名称 | 事件说明 | 回调函数接受的参数 |
|
615 | | --------------- | --------------- | ---------------------------------------- |
|
616 | | valueChange | 字段值发生变化事件 | dataTable:此dataTable对应id;rowId:发生改变行的rowId;field:发生改变的field;oldValue:改变之前的值;newValue:改变之后的值; |
|
617 | | xxx.valueChange | 某一字段值发生变化事件 | dataTable:此dataTable对应id;rowId:发生改变行的rowId;field:发生改变的field;oldValue:改变之前的值;newValue:改变之后的值; |
|
618 | | select | 行选中事件 | indices:选中行对应的index;rowIds:选中行对应的rowId; |
|
619 | | unSelect | 行反选事件 | indices:选反选对应的index;rowIds:选反选对应的rowId; |
|
620 | | allSelect | 选中所有行事件 | |
|
621 | | allUnselect | 反选所有行事件 | |
|
622 | | insert | 插入行事件 | index:插入行对应的index;rows:所插入的行信息; |
|
623 | | update | 行修改事件 | index:修改行对应的index;rows:所修改的行信息; |
|
624 | | delete | 行删除事件 | indices:删除行对应的index;rowIds:删除行对应的rowId;deleteRows:所删除的行信息; |
|
625 | | deleteAll | 删除所有行事件 | |
|
626 | | focus | 行获取焦点事件 | index:焦点行对应的index;rowId:焦点行对应的rowId; |
|
627 | | unFocus | 行取消焦点事件 | index:取消焦点行对应的index;rowId:取消焦点行对应的rowId; |
|
628 | | enableChange | 可修改属性改变事件 | enable:是否可修改; |
|
629 | | metaChange | 字段属性信息改变事件 | dataTable:此dataTable对应id;field:发生属性改变的字段;meta:发生改变的属性;oldValue:发生改变之前的值;newValue:发生改变之后的值; |
|
630 | | rowMetaChange | Row对象字段属性信息改变事件 | dataTable:此dataTable对应id;field:发生属性改变的字段;meta:发生改变的属性;oldValue:发生改变之前的值;newValue:发生改变之后的值;row:发生属性改变的Row对象 |
|
631 |
|
632 |
|
633 |
|
634 |
|
635 |
|