DataTables warning(table id ='table-filter'):数据源中请求的未知参数'0',表示数据表中的第0行错误

时间:2013-09-25 07:31:38

标签: jquery datatables

我有一张数据来自数据库的表。我在该表上使用数据表。但问题是当数据库中没有行时,它会显示警告

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" }
    ],
});

我能为此做些什么?

1 个答案:

答案 0 :(得分:1)

您需要在初始化中包含“aaData”,例如:

$('#table-filter').dataTable({
  ...
  "aaData": [2,3,5,7],
  ...
}

或者,如果不存在,你可以避免制作表格(根据Saranya Sadhasivam的建议)。

可以使用类似的内容:

 if ( $('#table-filter tr').length > 0 ) { ... }

或者,如果数据库只需要时间加载,请添加在数据到达后开始初始化的回调。

我对dataTables的体验是,不喜欢在没有至少一个完整和完整的行的情况下进行初始化。一旦创建它,​​它可以被排序/过滤/等零项目并且工作正常,但它必须从一些东西开始。