确定。我有一个DataTables的问题,我无法使用相同的列宽重新填充DataTable,即使它使用相同的数据重新填充。
我不确定调用fnClearTable是否正在改变事物或是否重新填充表格,但是有些东西正在改变列宽,我不知道如何修复它!
在JsFiddle看看这个:
我甚至尝试过调用fnAdjustColumnSizing(如下所示),但这并没有解决它
$('#tableID').dataTable().fnAdjustColumnSizing();
要运行JsFiddle示例,只需单击顶部的“运行”,然后单击“绘制”,“清除”,然后按顺序“重绘”。稍微玩一下,你会看到我在说什么。
基本上,我在jQuery中填充DataTable,然后调用fnClearTable,然后使用相同的数据再次填充它。第一次填充,它太棒了!完美均匀。然而,第二次,它改变了列的所有宽度,我无法弄清楚如何将它恢复到第一次绘制表格的方式。
请帮助我在多个项目中多次使用DataTables时看到这一点,这真的让我感到紧张!
答案 0 :(得分:2)
查看初始化选项bAutoWidth
:
启用或禁用自动列宽计算。这可以 禁用作为优化(需要一些时间来计算 widths)如果使用aoColumns传入表格宽度。
对于一些不那么清楚的原因,bAutoWidth
的默认值为true。这就是为什么你一遍又一遍地看到这种行为:)只需将此选项设置为false - 分叉小提琴 - >的 http://jsfiddle.net/aYhm4/ 强>
$('#t').dataTable({
...
bAutoWidth : false
...
});