我正试图使用dataTables调整表的大小,但我花了几个小时来尝试,但这是不可能的。如果我使用普通CSS设置宽度,它可以很好地工作,但我的意图是动态设置宽度,并使其与页面宽度相适应:
我有以下代码:
var winH = screen.availHeight;
winH = winH - (winH/2) - 50;
winH = winH + "px";
winW = screen.availWidth;
winW = winW - 100;
winW = winW + "px";
var oTable = $('#tutorial-table').dataTable({
"bFilter": false,
"bSort": false,
"bPaginate": false,
"bScrollCollapse": true,
"bInfo": true,
"sScrollY": winH,
"bAutoWidth": false,
"sScrollX": "100%"
});
new FixedColumns( oTable, {
"iLeftColumns": 1,
"iLeftWidth": 130,
});
$('#tutorial-table_wrapper').css('width', winW);
oTable.fnDraw();
上面的代码缩小了表格,只显示了1列,但如果我添加一些CSS:
#tutorial-table_wrapper{
width: 1200px;
}
它工作正常,并将表的大小调整为1200px(只有当我打开检查器时,通过JS设置它才有效,我怀疑这是由于chrome重新加载了所有元素)。
有没有办法强迫这种行为或以某种方式设置宽度?
感谢
我最终通过完全删除dataTables并使用jquery固定表来修复它:
http://www.novasoftware.com/Download/jQuery_FixedTable/JQuery_FixedTable.aspx
设置起来更容易,非常轻,在加载动态表或配置宽度等参数时也更灵敏。
谨致问候。