Datatables 带有子行的数据表(子数据表)。默认情况下,如何创建/扩展所有子数据表?

Datatables 带有子行的数据表(子数据表)。默认情况下,如何创建/扩展所有子数据表?,datatables,datatables-1.10,Datatables,Datatables 1.10,我有一个带有子数据表的数据表,我不能让它们在每一页上展开。我可以使它们在当前页面上展开,但当我转到另一个页面时,子表不会显示。看起来好像子行存在,但尚未创建数据表。如果我折叠并展开子行,则会创建dataTable 这是我从gyrocode.com上分出的小提琴 下面是展开按钮功能 $('#btn-show-all-children').on('click', function(){ // Enumerate all rows table.rows().every(functio

我有一个带有子数据表的数据表,我不能让它们在每一页上展开。我可以使它们在当前页面上展开,但当我转到另一个页面时,子表不会显示。看起来好像子行存在,但尚未创建数据表。如果我折叠并展开子行,则会创建dataTable

这是我从gyrocode.com上分出的小提琴

下面是展开按钮功能

$('#btn-show-all-children').on('click', function(){
    // Enumerate all rows
    table.rows().every(function(){
        // If row has details collapsed
        if(!this.child.isShown()){
            // Open this row
            this.child(format(this.data())).show();
            childTable(this.data());
            $(this.node()).addClass('shown');
        }
    });
}); 
My format函数为子数据表创建html

function format ( d ) {
    var childId = d.extn;
  return '<div><table id=\'child-table' + childId + '\' class=\'table-striped table-bordered\'></table></div>';
}
var childTable = $(childId).DataTable({
    colReorder: true,
    searching: false,
    info: false,
    paging: false,
    scrollY: false,
    data: data.children,
    columns: [{
        title: "Name",
        render: function(data, type, row, meta) {
          return row.name;
        }
      },
      {
        title: "Class",
        render: function(data, type, row, meta) {
          return row.class;
        }
      },
    ]
    });
}
展开按钮展开并显示当前页面上的子数据表。问题是当我转到另一个页面时,子数据表不在那里。在另一个页面上,我可以单击行两次(折叠然后重新展开),然后创建子数据表。 我尝试过使用drawcallback,但它是在创建新页面之前调用的


如何在所有页面上创建子数据表?

在表初始化后,在tbody中循环所有tr,并打开它们。您可以在
initComplete
callback中添加此项,仅创建当前页面的子数据表。当我转到另一页时,子数据表不会被创建。@Gyrocode.com我不知道如何将此问题取消标记为重复。我应该提出一个新问题吗?我如何让Gyrocode.com知道我不认为它是重复的?@user2308828,我重新打开了你的问题,因为在你编辑它之后,它现在更有意义了。在审核后,它将被其他人重新打开,无需发布重复的问题。