Я пытаюсь изменить размер таблицы с помощью 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;
}
Он работает нормально и меняет размер таблицы на 1200 пикселей (установка его через JS работает только при открытии инспектора, я полагаю, что это связано с тем, что хром перезагружает все элементы).
Есть ли способ заставить это поведение или каким-то образом установить ширину?
благодаря
Я, наконец, исправил это, удалив полностью dataTables и вместо этого используя фиксированные таблицы jquery:
http://www.novasoftware.com/Download/jQuery_FixedTable/JQuery_FixedTable.aspx
Гораздо проще настроить, очень легкий, а также гораздо более отзывчивый, когда приходится загружать динамические таблицы или настраивать параметры, такие как ширина.
С уважением.