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

时间:2013-01-17 09:24:07

标签: jquery json asp.net-mvc datatables

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

7 个答案:

答案 0 :(得分:121)

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

$('#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

答案 1 :(得分:8)

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

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

e.g。

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

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

答案 4 :(得分:1)

游戏后期,但您也可以使用localisation file

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

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

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

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

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

答案 5 :(得分:0)

这只是一个好主意。这样,您可以在正文中添加类,并在表中没有数据时隐藏/显示表。这对我来说很完美。您可以设计自定义找不到记录的错误消息,当表中没有记录时,可以添加类“ 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;}

here is Official link

答案 6 :(得分:0)

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

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

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

谢谢