8

我们的产品负责人希望我们的空表在表中没有数据时仅显示表头。我似乎无法阻止 dataTable 创建带有“空...”消息的行。

这是我用来初始化数据表的代码。我知道这里有些事情是错误的。我一直在做实验。:)

$('#InBox').dataTable({
    "bFilter": false,
    "bPaginate": false,
    "bLengthChange": false,
    "bInfo": false,
    "oLanguage": {
        "sEmptyTable": '',
        "sInfoEmpty": ''
    }
});

这是我尝试将一些代码放入 dataTable 的 init 函数中,但我不知道如何让它工作。

/* Table is empty - create a row with an empty message in it */
            var anRows[0] = document.createElement('tr');

            if (typeof oSettings.asStripClasses[0] != 'undefined') {
                anRows[0].className = oSettings.asStripClasses[0];
            }

            var nTd = document.createElement('td');
            nTd.setAttribute('valign', "top");
            nTd.colSpan = oSettings.aoColumns.length;
            nTd.className = oSettings.oClasses.sRowEmpty;
            if (oSettings.fnRecordsTotal() > 0) {
                if (oSettings.oLanguage.sZeroFilterRecords.indexOf("_MAX_") != -1)
                    oSettings.oLanguage.sZeroFilterRecords = oSettings.oLanguage.sZeroFilterRecords.replace("_MAX_", oSettings.fnRecordsTotal());
                nTd.innerHTML = oSettings.oLanguage.sZeroFilterRecords;
            } else {
                nTd.innerHTML = oSettings.oLanguage.sZeroRecords;
            }

            anRows[iRowCount].appendChild(nTd);

4

5 回答 5

8

试试这个

$('#InBox').dataTable({
  "bFilter": false,
   "bPaginate": false,
   "bLengthChange": false,
   "bInfo": false,
   "oLanguage": {
    "sEmptyTable": '',
    "sInfoEmpty": ''
   },
   "sEmptyTable": "There are no records",
 });

否则你可以试试这个

$('#InBox').dataTable({
  "bFilter": false,
   "bPaginate": false,
   "bLengthChange": false,
   "bInfo": false,
   "oLanguage": {
    "sEmptyTable": '',
    "sInfoEmpty": ''
   }
 });
$('.dataTables_empty').html("No record found.");
于 2012-06-25T16:16:23.620 回答
7

如果要从数据表插件中删除附加的 tbody,可以尝试以下解决方法:

$('.dataTables_empty').parent().parent().remove();
于 2015-10-15T18:20:58.373 回答
3

旧帖子,但为了人们使用搜索引擎寻找正确答案,我就是这样做的。

从 dataTables 源中删除或注释掉以下行:

anRows[iRowCount].appendChild(nTd);

在缩小版中,搜索并删除:

b[i].appendChild(c);
于 2013-04-17T03:46:39.513 回答
2

您可以使用 oLangunge 自定义 DataTable 插件:

"oLanguage": { "sZeroRecords": "-Put customized text-", "sEmptyTable": "-Put customized text-" }

And if you want to remove those, just put these components into null:
"oLanguage": { "sZeroRecords": '', "sEmptyTable": '' }

希望能帮助到你!

于 2014-12-05T01:23:17.787 回答
2

隐藏消息的最新方法是使用语言选项

$('#loggedMessages').DataTable({
    "language": {
       "emptyTable": ' ',
       "zeroRecords": ' '
     }
 });
于 2017-10-21T14:32:31.083 回答