76

假设我有时从服务器获取空数据,我想在 DataTables 中显示 No Data found 消息?这怎么可能?

4

7 回答 7

144

如果要自定义显示在空表上的消息,请使用:

$('#example').dataTable( {
    "oLanguage": {
        "sEmptyTable":     "My Custom Message On Empty Table"
    }
} );

从 Datatable 1.10 开始,您可以执行以下操作:

$('#example').DataTable( {
    "language": {
        "emptyTable":     "My Custom Message On Empty Table"
    }
} );

有关该表的完整可用数据表自定义消息,请查看以下链接参考/选项/语言

于 2013-01-17T10:45:23.300 回答
17

更高版本dataTables具有以下language设置(取自此处):

  • "infoEmpty"- 表中没有记录时显示
  • "zeroRecords"- 没有符合过滤条件的记录时显示

例如

$('#example').DataTable( {
    "language": {
        "infoEmpty": "No records available - Got it?",
    }
});

注意:由于属性名称不包含任何特殊字符,您可以删除引号:

$('#example').DataTable( {
    language: {
        infoEmpty: "No records available - Got it?",
    }
});
于 2015-07-31T08:45:23.003 回答
3

游戏迟到了,但您也可以使用本地化文件

DataTable 提供了一个.json本地化文件,其中包含密钥sEmptyTable和相应的本地化消息。

例如,只需在上面的链接下载本地化的 json 文件,然后像这样初始化你Datatable

$('#example').dataTable( {
    "language": {
        "url": "path/to/your/json/file.json"
    }
});

恕我直言,这更干净,因为您的本地化内容位于外部文件中。

此语法适用于DataTables 1.10.16,我没有在以前的版本上进行测试。

于 2018-03-19T18:57:17.793 回答
2

我发现相同,但最后我找到了答案。我希望这个答案对你有很大帮助。

当您的数组为空时,您可以发送空数组,就像

if(!empty($result))
        {
            echo json_encode($result);
        }
        else
        {
            echo json_encode(array('data'=>''));
        }

谢谢

于 2019-09-24T07:34:35.000 回答
1

值得注意的是,如果您要返回服务器端数据 - 即使没有,您也必须提供 Data 属性。它不读取recordsTotalrecordsFiltered但依赖于数据对象的计数

于 2016-10-19T19:52:54.777 回答
1

这只是一个好主意。也就是说,您可以在正文中添加类,并在表中没有数据时隐藏/显示表。这对我来说很完美。可以设计自定义的NO Record Found错误信息,当表中没有记录时,可以添加类“no-record”,当有1条或多条记录时,可以删除类并显示数据表

这是jQuery代码。

$('#default_table').DataTable({

    // your stuff here

    "fnFooterCallback": function (nRow, aaData, iStart, iEnd, aiDisplay) {
        if (aiDisplay.length > 0) {
            $('body').removeClass('no-record');
        }
        else {
            $('body').addClass('no-record');
        }
    }
});

这是CSS

.no-record #default_table{display:none;}

是官方链接

于 2019-06-12T05:25:05.613 回答
0

默认情况下,网格视图会处理,只需传递空数据集。

于 2013-01-17T10:16:57.963 回答