2011-11-27 65 views
0

正如标题后不同的列宽说,我使用了Ajax调用以获取我的表的新数据,并使用aaData初始化参数。这些调用都可以正常工作,并用正确的数据重新填充表格。我的问题是,虽然第一台绘制正确,所有后续调用不会自动调整大小的列的宽度,以填补表的整个宽度 - 相反,列只能一样宽的数据。数据表使用Ajax源和aaData初始化参数 - 初始呼叫

我打电话数据表像这样:

$(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对象不包括明确的宽度。我也打过电话fnAdjustColumnSizing()的数据表对象,但会导致所有的表,其中包括第一个呼叫,有一个小的宽度。另外,我试着删除bJQueryUI参数。

第一个表中产生具有1262像素所计算的宽度。它看起来好像表中有一个风格=“宽度:100像素”属性第二呼叫之后插入,具有322px一个计算宽度。

回答

0

原来,虽然我设置“宽度:100%”的一个内联样式,第二呼叫被毁损和增加它自己的“风格=‘宽度:1000×’”的属性。将样式放在样式表中并标记它!重要的固定事物。