DataTables fnClearTable更改列宽

时间:2013-12-21 02:37:23

标签: jquery html css datatable jquery-datatables

确定。我有一个DataTables的问题,我无法使用相同的列宽重新填充DataTable,即使它使用相同的数据重新填充。

我不确定调用fnClearTable是否正在改变事物或是否重新填充表格,但是有些东西正在改变列宽,我不知道如何修复它!

在JsFiddle看看这个:

http://jsfiddle.net/h47N2/

我甚至尝试过调用fnAdjustColumnSizing(如下所示),但这并没有解决它

$('#tableID').dataTable().fnAdjustColumnSizing();

要运行JsFiddle示例,只需单击顶部的“运行”,然后单击“绘制”,“清除”,然后按顺序“重绘”。稍微玩一下,你会看到我在说什么。

基本上,我在jQuery中填充DataTable,然后调用fnClearTable,然后使用相同的数据再次填充它。第一次填充,它太棒了!完美均匀。然而,第二次,它改变了列的所有宽度,我无法弄清楚如何将它恢复到第一次绘制表格的方式。

请帮助我在多个项目中多次使用DataTables时看到这一点,这真的让我感到紧张!

1 个答案:

答案 0 :(得分:2)

查看初始化选项bAutoWidth

  

启用或禁用自动列宽计算。这可以   禁用作为优化(需要一些时间来计算   widths)如果使用aoColumns传入表格宽度。

对于一些不那么清楚的原因,bAutoWidth的默认值为true。这就是为什么你一遍又一遍地看到这种行为:)只需将此选项设置为false - 分叉小提琴 - >的 http://jsfiddle.net/aYhm4/

$('#t').dataTable({
   ...
   bAutoWidth : false
   ...
});