假设我有时从服务器获取空数据,我想在 DataTables 中显示 No Data found 消息?这怎么可能?
7 回答
如果要自定义显示在空表上的消息,请使用:
$('#example').dataTable( {
"oLanguage": {
"sEmptyTable": "My Custom Message On Empty Table"
}
} );
从 Datatable 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?",
}
});
游戏迟到了,但您也可以使用本地化文件
DataTable 提供了一个.json
本地化文件,其中包含密钥sEmptyTable
和相应的本地化消息。
例如,只需在上面的链接下载本地化的 json 文件,然后像这样初始化你Datatable
:
$('#example').dataTable( {
"language": {
"url": "path/to/your/json/file.json"
}
});
恕我直言,这更干净,因为您的本地化内容位于外部文件中。
此语法适用于DataTables 1.10.16,我没有在以前的版本上进行测试。
我发现相同,但最后我找到了答案。我希望这个答案对你有很大帮助。
当您的数组为空时,您可以发送空数组,就像
if(!empty($result))
{
echo json_encode($result);
}
else
{
echo json_encode(array('data'=>''));
}
谢谢
值得注意的是,如果您要返回服务器端数据 - 即使没有,您也必须提供 Data 属性。它不读取recordsTotal
或recordsFiltered
但依赖于数据对象的计数
这只是一个好主意。也就是说,您可以在正文中添加类,并在表中没有数据时隐藏/显示表。这对我来说很完美。可以设计自定义的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;}
这是官方链接。
默认情况下,网格视图会处理,只需传递空数据集。