Изменения jQuery dataTables по ширине оболочки вступают в силу только после загрузки инспектора Chrome

0

Я пытаюсь изменить размер таблицы с помощью 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 работает только при открытии инспектора, я полагаю, что это связано с тем, что хром перезагружает все элементы).

Есть ли способ заставить это поведение или каким-то образом установить ширину?

благодаря

  • 0
    Вы не используете какой-либо обработчик изменения размера?
  • 0
    У меня "bAutoWidth" установлен на false, но не влияет на глобальную ширину
Теги:
datatables
jquery-datatables

1 ответ

0
Лучший ответ

Я, наконец, исправил это, удалив полностью dataTables и вместо этого используя фиксированные таблицы jquery:

http://www.novasoftware.com/Download/jQuery_FixedTable/JQuery_FixedTable.aspx

Гораздо проще настроить, очень легкий, а также гораздо более отзывчивый, когда приходится загружать динамические таблицы или настраивать параметры, такие как ширина.

С уважением.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню