Tabulator - параметры форматирования заголовка - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь программно изменить текст заголовка / цвет / стиль с помощью специального средства форматирования. Я посмотрел на вопрос Tabulator - Изменение размера заголовка столбца при изменении размера шрифта , который был почти идеальным, но приведенный примерный модуль форматирования выглядит как средство форматирования ячейки, а не как средство форматирования заголовка.

Устройство форматирования ячейки принимает три параметра, тогда как средство форматирования заголовка не принимает ни одного. (Я верю - и документы, похоже, согласны: http://tabulator.info/docs/4.2/format#format-column)

У меня вопрос просто: «Можно ли как-нибудь определить, в каком столбце он находится?»

Если я ошибаюсь в параметрах, то это должно помочь, но я использую точный формат, указанный в другом ответе, но изменяю код на

var customFormatter = function(cell, formatterParams, onRendered){
  alert(cell == undefined)
}

и браузер возвращает значение true. Так что он запускается, когда я получаю предупреждение, но без параметров. Что согласуется с документами.

Моя альтернатива, поскольку я создаю множество табуляторов программно в php, - это создание разных функций для каждого столбца в каждой таблице. Но это кажется ужасным решением.

1 Ответ

0 голосов
/ 29 мая 2019

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

Форматер ячейки имеет параметры:

var customFormatter = function(cell, formatterParams, onRendered){ alert(cell == undefined) // false }

... тогда как форматирование заголовка не:

var customFormatter = function(){ // can really only do very generic stuff without parameters, only the return value matters }

Таким образом, ответ на мой вопрос «Нет - вы не можете определить, в каком столбце вы находитесь, когда используете функцию titleFormatter», поэтому вам нужен один для каждого столбца.

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

Если вы идете подобным образом, я изменил только цвет текста и фона. Имейте в виду, что Табулятор не знает, что вы сделали это, и может отменить их, и мои изменения не включали проблем с изменением размера.

Это означало, что я создал целый класс-обертку для Табулятора, но это все равно сделало его намного более мощным. Сказав это и пройдя, я думаю, что каждый вариант бесплатной сетки существует, Tabulator уже достаточно силен, на мой взгляд.

...