Datatables: отключить изменение размера столбца после фильтрации
Я использую datatables и заполняю таблицу данными с помощью javascript. Он работает нормально, но хотелось бы предотвратить datables с изменением ширины столбцов в таблице после фильтрации. Я пробовал несколько решений, найденных в интернете, но это, похоже, не решает проблему.
мой HTML:
<table class="table table-striped table-bordered table-hover" id="id-table" width="100%"></table>
Я создаю таблицу, как:
var table = $('#id-table').DataTable(
{
paging: false,
ordering: false,
info: false,
"bAutoWidth": false, // Disable the auto width calculation : false,
columns: columns,
data : assignments,
sScrollX: "100%",
// aoColumns : aoColumns
// aoColumns : [
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" },
// { "sWidth": "150px" }
// ]
// aoColumns: aoColumns
// columnDefs : cdefs
}
);
где data-массив с данными, а columns-массив объектов, таких как as:
bSearchable false
sTitle "Column Title"
sWidth "100px"
title "Column Title"
mRender function(data, type, full, meta)
render function(data, type, full, meta)
Я попытался установить ширину в обоих " столбцах "напрямую и использовать параметры" aoColumns " (прокомментировано в коде выше). В обоих случаях ширина столбцов по-прежнему изменяется после фильтрации. Есть идеи, как отключить это автоматическое изменение размера?
2 ответов
в вашем стиле набора тегов таблицы html table-layout
до 'fixed'
и передать bAutoWidth = false
для функции datatable
у меня была эта проблема с текущей версией DataTables (v1.10.16) и это было потому, что я установил autoWidth
до false
не понимая, что он делает.
в конфигурации по умолчанию (CSS table-layout: auto
+ DataTables'autoWidth: true
) столбцы имеют соответствующий размер на основе данных и не прыгают при фильтрации.