У меня есть форматер, который работает с данными столбца, используя параметр столбца formatter
. Используя тот же форматер с параметром столбца titleformatter
, я получаю сообщение об ошибке, указанное ниже. Кроме того, я не понимаю, почему HTML в тексте параметра title
, кажется, не работает для <b> ... </b>
, но работает для других вещей (например, <i> ... </i>
. Работающий пример пользовательского форматера может помочь. (Я не вижу это в документации Табулятора.) См. этот монтаж, объединяющий заголовок столбца и снимок заголовка строки с общим текстом ячейки --- «жирный» в строке выглядит мне смелее.
Монтаж скриншота сравнения ячеек текста
Я пытался эмулировать некоторый опубликованный пример кода, но я получаю ту же ошибку, о которой сообщил @dagroj в своем комментарии к ответу @Oli Folkerd (на вопрос ) о titleformatter
--- а именно tabulator.min.js:2 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
(Упоминание этого здесь, потому что у меня еще нет репутации, чтобы комментировать там.)
Вот рендеринг моего CPT без форматера заголовка.
Конструктор соответствующей таблицы:
"columnVertAlign": "bottom",
"height": "100%",
"layout": "fitColumns",
"columns": [
{
"title": "<i> absolute_T<--T (noisyAnd)</i>",
"columns": [
{
"title": "<b> NotCorrAnd_EffectiveHyp</b>",
"field": "label",
"align": "right",
"headerSort": false
}
]
},
{
"title": "NotB_EffectiveHyp",
"columns": [
{
"title": "<b>T</B>",
"field": "true",
"align": "center",
"headerSort": false
},
{
"title": "<i>F</i>",
"field": "false",
"align": "center",
"headerSort": false
}
]
},
{
"title": "<b> Belief </b>",
"columns": [
{
"title": "odds",
"field": "odds",
"align": "center",
"headerSort": false
},
{
"title": "log<sub>2</sub> odds",
"field": "log2odds",
"align": "center",
"headerSort": false
}
]
}
]
}
Formatter:
function truthFormatter(cell, formatterParams, onRendered) {
var cellValue = cell.getValue();
var cellElement = cell.getElement();
if (cellValue == "T") {
cellElement.style.backgroundColor = "#0000B3";
cellElement.style.color = "#FFFFFF";
cellElement.style.textAlign = "center";
cellElement.style.fontWeight = "bold";
}
else if (cellValue == "F") {
cellElement.style.backgroundColor = "#B30000";
cellElement.style.color = "#FFFFFF";
cellElement.style.textAlign = "center";
cellElement.style.fontWeight = "bold";
}
else cellElement.style.color = "#000000";
return cell.getValue();
}