【发布时间】:2012-12-31 19:07:20
【问题描述】:
假设我有时从服务器获取空数据,我想在 DataTables 中显示 No Data found 消息?这怎么可能?
【问题讨论】:
标签: jquery json asp.net-mvc datatables
假设我有时从服务器获取空数据,我想在 DataTables 中显示 No Data found 消息?这怎么可能?
【问题讨论】:
标签: jquery json asp.net-mvc datatables
如果您想自定义显示在空表上的消息,请使用:
$('#example').dataTable( {
"oLanguage": {
"sEmptyTable": "My Custom Message On Empty Table"
}
} );
从 Datatable 1.10 开始,您可以执行以下操作:
$('#example').DataTable( {
"language": {
"emptyTable": "My Custom Message On Empty Table"
}
} );
对于表的完整的可用数据表自定义消息,请查看以下链接reference/option/language
【讨论】:
dataTables 的更高版本具有以下language 设置(取自here):
"infoEmpty" - 表中没有记录时显示"zeroRecords" - 没有符合过滤条件的记录时显示例如
$('#example').DataTable( {
"language": {
"infoEmpty": "No records available - Got it?",
}
});
注意:由于属性名称不包含任何特殊字符,您可以删除引号:
$('#example').DataTable( {
language: {
infoEmpty: "No records available - Got it?",
}
});
【讨论】:
infoEmpty 实际上是表的信息部分。看到这个jsfiddle
游戏迟到了,但您也可以使用localisation file
DataTable 提供了一个.json 本地化文件,其中包含密钥sEmptyTable 和对应的本地化消息。
例如,只需在上面的link上下载本地化的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;}
【讨论】:
默认情况下,网格视图会处理,只需传递空数据集。
【讨论】: