С этим у вас будут тяжелые времена, и я бы хотел оказаться ошибочным, чтобы исправить свое собственное приложение. И вот почему:
Поведение по умолчанию «Минимальная ширина» любого данного столбца является более узким из текста заголовка ИЛИ самого широкого слова в любом данном столбце. Вот пример для пояснения: представьте, что на данный момент стрелок нет - у вас есть столбец с заголовком «Имя», и ячейки в этом столбце имеют формат «имя [пробел], фамилия». Где-то в этом столбце одна из ячеек содержит «Консуэла Руис». Столбец может быть настолько узким, насколько требуется, чтобы содержать «Consuela», прежде чем он начнет компенсацию в соответствии со своими собственными алгоритмами.
Таким образом, чтобы стрелки были частью этого вычисления, они должны быть неплавающими промежутками, что усложняет расположение в правой части каждого TH.
Компромисс, который я закончил, заключался в следующем:
Разместите заголовки так, как вы хотите. Определите, какую ширину вам нужно дать (в процентах или пикселях), чтобы таблица была оптимизирована в соответствии с заголовками, а не с содержимым.
У элементов TD должны быть overflow: hidden
и text-overflow
многоточие.
В параметре fnDrawCallback
DataTables (возможно, есть лучшее место для этого, вот что я выбрал), установите функцию, которая берет каждую ячейку таблицы и устанавливает ее содержимое в качестве заголовка ( тем самым позволяя родным подсказкам отображать усеченные столбцы при наведении курсора).