重新初始化 Datatable 时 fixedColumns 出现问题
Problem with fixedColumns while reinitializing Datatable
我有一个包含固定列的数据 table。它以以下方式初始化:
$('#someTable').DataTable({
"dom" :'<flitp>',
"columnDefs": [{"targets":[9,10], "searchable":false, "visible":false}],
"pageLength": 10,
"lengthMenu": [[100,150,250,500,-1], [100,150,250,500,"All"]],
"fnInitComplete": function (oSettings, json) {
/*let table = this.api();
new $.fn.dataTable.FixedColumns( table, {
leftColumns:3,
rightColumns:1,
} );*/
},
"fixedColumns": {
"leftColumns":3,
"rightColumns":1
}
});
初始化时,Datatable 将 'left' 和 'sticky' 等属性添加到这些单元格。
当我尝试重新初始化 table.
时出现问题
dwr.util.removeAllRows("tableBody");
if ( $.fn.DataTable.isDataTable( '#someTable' ) ) {
$('#someTable').DataTable().clear().draw();
$('#someTable').DataTable().destroy();
}
我在再次创建 table 之前销毁了 table。但是在重新初始化之后,只有 headers 保持不变,而不是 body 列。
对于 body 中的单元格,位置设置为粘性,但 'left' 属性 设置为所有固定列的“0px”。
任何帮助表示赞赏。
编辑 - 当我对 table 进行排序或在 table 中搜索某些内容时,上述问题得到解决 - table 结构自行解决。不确定是什么导致了这个问题。
更新 - 我发现这个问题来了,因为我隐藏了最后两列。如果我保持这些列可见,我就不会遇到这个问题。虽然我仍然需要解决方案!
如我的 'Update' 所述,此问题是因为隐藏了 2 列并修复了前几列。我的问题通过不在选项中定义隐藏列 属性 来解决,而是稍后隐藏这些列 - 在 table 初始化之后。
table.columns([9,10]).visible(false,true);
我有一个包含固定列的数据 table。它以以下方式初始化:
$('#someTable').DataTable({
"dom" :'<flitp>',
"columnDefs": [{"targets":[9,10], "searchable":false, "visible":false}],
"pageLength": 10,
"lengthMenu": [[100,150,250,500,-1], [100,150,250,500,"All"]],
"fnInitComplete": function (oSettings, json) {
/*let table = this.api();
new $.fn.dataTable.FixedColumns( table, {
leftColumns:3,
rightColumns:1,
} );*/
},
"fixedColumns": {
"leftColumns":3,
"rightColumns":1
}
});
初始化时,Datatable 将 'left' 和 'sticky' 等属性添加到这些单元格。 当我尝试重新初始化 table.
时出现问题dwr.util.removeAllRows("tableBody");
if ( $.fn.DataTable.isDataTable( '#someTable' ) ) {
$('#someTable').DataTable().clear().draw();
$('#someTable').DataTable().destroy();
}
我在再次创建 table 之前销毁了 table。但是在重新初始化之后,只有 headers 保持不变,而不是 body 列。 对于 body 中的单元格,位置设置为粘性,但 'left' 属性 设置为所有固定列的“0px”。 任何帮助表示赞赏。 编辑 - 当我对 table 进行排序或在 table 中搜索某些内容时,上述问题得到解决 - table 结构自行解决。不确定是什么导致了这个问题。
更新 - 我发现这个问题来了,因为我隐藏了最后两列。如果我保持这些列可见,我就不会遇到这个问题。虽然我仍然需要解决方案!
如我的 'Update' 所述,此问题是因为隐藏了 2 列并修复了前几列。我的问题通过不在选项中定义隐藏列 属性 来解决,而是稍后隐藏这些列 - 在 table 初始化之后。
table.columns([9,10]).visible(false,true);