我有一张数据来自数据库的表。我在该表上使用数据表。但问题是当数据库中没有行时,它会显示警告
DataTables warning (table id = 'table-filter'): Requested unknown parameter '0' from the data source for row 0
我的表jQuery代码是:
$('#table-filter').dataTable({
"bPaginate": true,
"bProcessing": false,
"bStateSave": false,
"aLengthMenu": [[5, 10, 20, 50, 100 , -1], [5, 10, 20, 50, 100, "All"]],
"iDisplayLength" : 5,
"sPaginationType": "full_numbers",
"aoColumnDefs": [
{ 'bSortable': false, 'aTargets': [ 0,7 ] }
],
"oLanguage": {
"sLengthMenu": "Show _MENU_ records per page",
"sZeroRecords": "Nothing found - sorry",
"sInfo": "Showing _START_ to _END_ of _TOTAL_ Entries",
"sInfoEmpty": "Showing 0 to 0 of 0 records",
"sInfoFiltered": "(filtered from _MAX_ total records)"
}
}).columnFilter({
aoColumns:[ null,
{ type: "text" },
{ type: "text" },
{ type: "text" }, { type: "text" },
{ type: "text" },
{ type: "text" }
],
});
我能为此做些什么?
答案 0 :(得分:1)
您需要在初始化中包含“aaData”,例如:
$('#table-filter').dataTable({
...
"aaData": [2,3,5,7],
...
}
或者,如果不存在,你可以避免制作表格(根据Saranya Sadhasivam的建议)。
可以使用类似的内容:
if ( $('#table-filter tr').length > 0 ) { ... }
或者,如果数据库只需要时间加载,请添加在数据到达后开始初始化的回调。
我对dataTables的体验是,不喜欢在没有至少一个完整和完整的行的情况下进行初始化。一旦创建它,它可以被排序/过滤/等零项目并且工作正常,但它必须从一些东西开始。