數據表格中的數據是通過直接賦值的方式。這里實際上思想是反過來的,將拿數據表格中的所有數據,轉換為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 });