具有Ajax源和aaData初始化参数的DataTables - 初始调用后列的宽度不同

时间:2011-11-27 17:40:22

标签: jquery datatables

正如标题所说,我正在使用Ajax调用来获取表的新数据并使用aaData初始化参数。调用都正常工作,并使用正确的数据重新填充表。我遇到的问题是,尽管第一个表格绘制正确,但所有后续调用都不会自动调整列宽以填充表格的整个宽度 - 相反,列只有它们的数据宽。

我正在调用DataTables:

$(document).ready(function(){
    $('#applyFilter').click(function(){
        //set up vars for ajax options and aoColumns
        $.get('myAjaxsource', options, function(response){
            $('#grid-container').dataTable({
                'aaData': response.AADATA,
                "aoColumns": aoColumns,
                "bJQueryUI": true,
                "bDestroy": true
            });   
        });
    });
}

注意:aoColumns对象不包含显式宽度。我也尝试在DataTables对象上调用fnAdjustColumnSizing(),但这会导致所有表(包括第一次调用)的宽度都很小。另外,我已经尝试删除bJQueryUI参数。

生成的第一个表的计算宽度为1262px。看起来该表在第二次调用后插入了style =“width:100px”属性,计算宽度为322px。

1 个答案:

答案 0 :(得分:0)

事实证明,尽管我设置的内联样式为“width:100%”,但第二个调用正在破坏它并添加自己的属性“style ='width:100ox'”。将样式放在样式表中并标记它!重要的固定内容。