如何在数据表中显示空数据消息


Answers:


138

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

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

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

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

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


谢谢Daniel,您可以帮我解决这个问题,即stackoverflow.com/questions/14376692/…。我希望你有想法。它与数据表有关
火影忍者

感谢Daniel,我们如何在单元格中显示空记录属性的自定义消息。
codemilan

2
@codemilan,您应该在google上进行列渲染,请参阅此datatables.net/examples/advanced_init/column_render.html,查看呈现第一列的js代码,在这种情况下,您可以添加对空列的检查并呈现任何内容想要该单元格
Daniel

@Daniel请检查一下。由于stackoverflow.com/questions/41431205/...
Sanduni迪

13

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

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

例如

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

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

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

1
infoEmpty实际上是用于表的信息部分。看到这个jsfiddle

3

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

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

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

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

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

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


2

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

当数组为空时,您可以像发送空数组一样

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

谢谢


1

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


我的数据集返回数据= null recordsTotal = 0 recordsFiltered = 0,但是那时候dataTable不显示任何消息。它卡在处理上。我如何显示默认值'未找到结果;当data = null时的消息。请咨询
Sanduni迪

您可以设置processing:false,我相信这是一个参数,返回的数据在结果集中必须有一个“ Data”键。
安东尼


0

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

这是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;}

这里是官方链接

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.