2016-11-10 10 views
1

Как я могу указать min-width для столбца в DataTables?Как указать минимальную ширину столбца?

Я не могу использовать класс с className, потому что ширина переменной. Недостаточно опции width. Кажется, что нет опции style.

+0

Значит, вы хотите назначить 'min-width' во время выполнения и не хотите использовать класс (ы) с предварительно заданной минимальной шириной, правильно? –

+0

@ Gyrocode.com Правильно. Я не хочу создавать сотни классов CSS для каждого отдельного столбца на каждой отдельной странице. – mpen

ответ

3

Я бы порекомендовал использовать имя класса или несколько имен классов и columns.className вариант сохранить правила CSS там, где они принадлежат - в файлах CSS.

Однако, если вы хотите назначить min-width значение во время выполнения, вы можете использовать createdRow возможность определить функцию обратного вызова для всякий раз, когда TR элемент создан для тела таблицы.

var table = $('#example').DataTable({ 
    'createdRow': function(row, data, dataIndex){ 
     $('td:eq(3)', row).css('min-width', '200px'); 
    } 
}); 

См. this example для кода и демонстрации.

+0

Нет ли лучшего обратного вызова, чем 'createdRow'? На самом деле его нужно запускать только один раз в заголовках. – mpen

+2

@mpen, я согласен, что это нужно сделать один раз в заголовке, и вы можете использовать элемент 'initComplete' и target' th'. Однако в некоторых случаях (например, вертикальная прокрутка) DataTables создает отдельную таблицу только для заголовков, поэтому установка заголовка 'min-width' на заголовке нарушает макет и требует специальной обработки. Решение выше универсально. –

Смежные вопросы