我正在使用kike表插件来动态扩展/缩小列宽。一切似乎工作得很好,除了当列宽减小时,表宽度没有减少,因此表的最后一列占用了可用的额外宽度。
有没有办法将列宽重置回原始列宽?
我的sScrollx设置为100%
"sScrollX": "100%",
我有一个将表重置回原始宽度的功能。
function resizeTable(tableId)
{
var oTable = $("#" + tableId).dataTable();
var oSettings = oTable.fnSettings();
oSettings.oScroll.sX = "840px"; // <- updated!
oTable.fnDraw(false);
}
我尝试使用上面的代码重置单击按钮时的滚动x值,但这似乎对表的宽度没有任何影响。
我尝试使用oTable.fnAdjustColumnSizing();
,但它也没有帮助我......
有人可以告诉我解决此问题的最佳方法吗?
答案 0 :(得分:3)
您可以尝试在dataTables设置中指定bAutoWidth : false
。
答案 1 :(得分:1)
Kike表(表类)覆盖了数据表(类),因此我无法在这些表上使用任何数据表函数,因此我提出了如下解决方案,
function resizeDataTable(dataTableid){
$("#" + dataTableid).removeClass('kiketable-colsizable'); // Remove kike column class
var oTable = $("#" + dataTableid).dataTable();
$(oTable).css({ width: $(oTable).parent().width() }); // Perform datatable functions
oTable.fnAdjustColumnSizing();
$("#" + dataTableid).addClass('kiketable-colsizable'); // Add kike column class
}
这完美无缺。