Datatables 带有子行的数据表(子数据表)。默认情况下,如何创建/扩展所有子数据表?
我有一个带有子数据表的数据表,我不能让它们在每一页上展开。我可以使它们在当前页面上展开,但当我转到另一个页面时,子表不会显示。看起来好像子行存在,但尚未创建数据表。如果我折叠并展开子行,则会创建dataTable 这是我从gyrocode.com上分出的小提琴 下面是展开按钮功能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
$('#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,我重新打开了你的问题,因为在你编辑它之后,它现在更有意义了。在审核后,它将被其他人重新打开,无需发布重复的问题。