数据表格中的数据是通过直接赋值的方式。这里实际上思想是反过来的,将拿数据表格中的所有数据,转换为Layui数据表格拿原始数据去渲染数据表格。
1、创建一个作用域合适的JS对象数组用来保存数据表格中的原始数据。
2、将上一步创建的JS对象数组也就是原始数据赋给table.render()的data参数。
3、获取表格中的所有数据其实直接获取第一步中创建的JS对象数组即可,参照下面的代码,获取表格中的所有数据就是获取tableContent中的数据。
1 // 存放数据表格中的数据的对象数组tableContent 2 var tableContent = new Array(); 3 4 table.render({ 5 elem : \'#viewTable\', 6 height : 325, 7 even: true, 8 text: { 9 none: \'您没有选中任何字段!\' 10 }, 11 // 拿对象数组tableContent中的数据作为原始数据渲染数据表格 12 data : tableContent, 13 page : { 14 layout: [\'count\', \'prev\', \'page\', \'next\', \'limit\', \'skip\'] 15 }, 16 limit : 5, 17 limits : [5, 10, 15, 20, 25], 18 cellMinWidth: 80, 19 cols:[[ 20 {type:\'checkbox\',fiexd : \'left\'}, 21 {title : \'序号\',type:\'numbers\'}, 22 {field : \'column\',title : \'列\',align:\'center\'}, 23 {field : \'alias\',title : \'别名\',align:\'center\',edit : \'text\'}, 24 {title : \'操作\',fiexd : \'right\',align:\'center\', toolbar: \'#viewBar\'} 25 ]], 26 done : function(res, curr, count){ 27 // do something... 28 } 29 });
数据表格中的数据是通过异步请求的方式
直接通过table.render()的done参数即可获得,该参数的值是一个数据渲染完的回调,无论是直接赋值还是异步请求数据,在渲染完之后都会触发该回调。注意:使用直接赋值方式给Laytable原始数据时,该方法获取到的是数据表格中当前页的数据,并不是表格中的所有数据,想获取表格中所有数据必须按照上面“数据表格中的数据是通过直接赋值的方式”的方法
1 table.render({ //其它参数在此省略 2 done: function(res, curr, count){ 3 //如果是异步请求数据方式,res即为你接口返回的信息。 4 //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度 5 console.log(res); 6 //得到当前页码 7 console.log(curr); 8 //得到数据总量 9 console.log(count); 10 } 11 });