如何在 Datatables 显示空白数据信息

假设我有时从服务器得到空数据,我想显示没有数据找到的消息在数据表?.这怎么可能?

130440 次浏览

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

如果要自定义显示在空表中的消息,请使用以下命令:

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

由于可数据表1.10,您可以执行以下操作:

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

对于 完整的可用数据表自定义消息表,请看下面的链接 参考文献/选项/语言

以后版本的 dataTables具有以下 language设置(取自 给你) :

  • "infoEmpty"-在表中没有记录时显示
  • "zeroRecords"-当没有记录匹配过滤时显示

例如:。

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

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

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

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

比赛后期,但你也可以使用 本地化文件

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

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

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

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

这种语法适用于 数据表1.10.16,我没有在以前的版本中进行测试。

这是个好主意。可以在主体中添加类,在有 表中没有数据的情况下隐藏/显示表。这对我来说再合适不过了。当表中没有记录时,可以设计自定义 发现错误消息,可以添加类“ 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;}

这里是官方链接

我也在寻找同样的答案,但最后我找到了一个答案。我希望这个答案对你有很大的帮助。

当你的数组是空的时候,你可以发送空数组,就像

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

谢谢你