如何解决将750行添加到Datatables rowsadd
我正在使用以下代码将行添加到数据表中:
for (var key in itm) {
t.row.add([
null,itm[key].itemcode,itm[key].itemdesc,itm[key].batch,itm[key].expiry,itm[key].qty,itm[key].unit,itm[key].rate,itm[key].total,itm[key].discper,itm[key].discamt,itm[key].staxper,itm[key].staxamt,itm[key].amount,itm[key].netprate,itm[key].salerate,itm[key].page,itm[key].sub1,itm[key].sub2,'<a href="javascript:void(0)" data-toggle="tooltip" data-original-title="Edit" class="edit btn btn-primary btn-sm btn-edit"><i class="fa fa-edit"></i></a>','<a href="javascript:void(0)" data-toggle="tooltip" data-original-title="Delete" class="btn btn-danger btn-sm btn-delete"><i class="fa fa-trash"></i></a>'
]).draw(false);
}
除大数据外,此方法工作正常。当我尝试添加约750行时,它太慢了,甚至页面挂断了一段时间。
我尝试使用rows.add()API添加数据,但是它不起作用,表为空。这是我用来添加批量数据的代码。
var t = $('#productTable').DataTable();
t.rows.add(itm);
我的数据表定义如下:
$('#productTable').DataTable({
"paging": false,"ordering": false,"searching": false,"info": false,"rowHeight": '100px',"scrollY": "200px","scrollX": true,"scrollCollapse": true,"paging": false,"columns": [
{ data: null },{ data: 'itemcode' },{ data: 'itemdesc' },{ data: 'batch' },{ data: 'expiry' },{ data: 'qty' },{ data: 'unit' },{ data: 'rate' },{ data: 'total' },{ data: 'discper' },{ data: 'discamt' },{ data: 'staxper' },{ data: 'staxamt' },{ data: 'amount' },{ data: 'netprate' },{ data: 'salerate' },{ data: 'page' },{ data: 'sub1' },{ data: 'sub2' },{ data: null },],"columnDefs": [
{ className: "dt-right","targets": [7,8,9,10,11,12,13] },{ "targets": varbatchcol,visible: false },{ "targets": vardisccol,{ "targets": vartaxcol,{ "targets": vartotcol,{ "targets": [17,18],"fnRowCallback" : function(nRow,aData,iDisplayIndex){
$("td:first",nRow).html(iDisplayIndex +1);
return nRow;
}
});
来自服务器的数据是:
解决方法
发现了问题。 t.rows.add(itm); 应该 t.rows.add(itm).draw();
这也解决了人口增长缓慢的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。