Форматирование виджета "Таблица"

Форматирование может применяться в следующих элементах виджета (активируется галочкой Включить форматирование):

  • Настройки стиля таблицы

    • Заголовки столбцов

    • Ячейки данных

При форматировании шапки можно использовать следующие зарезервированные команды:

  • @value - значение ячейки шапки;

  • @dimension - название измерения в ячейке шапки.

При форматировании ячеек данных можно использовать следующие зарезервированные команды:

  • @value - значение в ячейке таблицы;

  • @column - название столбца в таблице;

  • @rowLevel - текущий уровень вложенности по строкам (первый элемент - 1);

  • @row -массив значений строчки;

    • @row[0] - обращение к элементу массива через индекс столбца;

  • @rowByName['"Fakticheskie_prodazhi_v_rublyah","Stoimost_realizatsii"'] - обращение к элементу массива через unique name.

При форматировании также можно использовать HTML разметку для более глубоко форматирования текста.

Примеры форматирования

Изменение названия столбцов

Вы можете как полностью изменить название столбца, так и добавить текст к существующему значению. В нашем примере мы добавим слово руб. к фразам Стоимость реализации товара и Закупочная стоимость, а также заменим слово Город на Города России. Для этой цели мы введем следующую команду в поле Форматирование текста раздела Заголовки столбцов:

@value == 'Стоимость реализации товара' ? @value + " руб." : @value == 'Закупочная стоимость' ? @value + " руб." : @value == 'Город' ? @value = "Города России" : " "

Где
@value == 'Стоимость реализации товара', @value == 'Закупочная стоимость' – условие, при котором названием колонки является фраза Стоимость реализации товара / Закупочная стоимость;
@value + " руб." – текст (руб.), который должен добавиться к названию колонки при удовлетворении условия;
@value == 'Город' – условие, при котором названием колонки является фраза Город;
@value = "Города России" – замена текста, удовлетворяющего условию (Город) на фразу Города России.

Изменение значений в ячейках

При необходимости возможно заменить значения в ячейках таблицы. В нашем примере мы заменим буквы Ж и М на слова Женщины и Мужчины. Для этого мы введем следующую команду в поле Форматирование текста раздела Ячейки данных:

@value == "Ж" ? @value = "Женщины": @value == "М" ? @value = "Мужчины": @value

Где
@value == "Ж" – условие (для удовлетворения условия значение должно быть Ж);
@value = "Женщины" - замена текста, если условие удовлетворено.

Изменение цвета фона ячейки

Цвет фона ячеек можно изменить в зависимости от значения ячейки. Например, можно задать определенный цвет фона для различных категорий значений. В нашем примере мы зададим красный цвет для городов Самара и Барнаул, зеленый - для городов Нижнеудинск и Севастополь, и синий - для Москвы. Для этого мы введем следующую команду в поле Форматирование фона раздела Ячейки данных:

@value =='Самара' || @value == 'Барнаул' ? 'red': @value =='Москва' ? 'blue' : @value == 'Нижнеудинск' || @value == 'Севастополь' ? 'green':''

Где
@value =='Самара' || @value == 'Барнаул' – условие (значение должно быть либо Самара, либо Барнаул);
|| – логический оператор ИЛИ;
'red' - назначение цвета при удовлетворении условия;
@value =='Москва' – условие (значение должно быть Москва);
'blue' – назначение цвета при удовлетворении условия;
@value == 'Нижнеудинск' || @value == 'Севастополь' – условие (значение должно быть либо Нижнеудинск, либо Севастополь)
'green' – назначение цвета при удовлетворении условия.

Возможно использование различных цветовых форматов:

  • HTML имя цвета (например, red)

  • RGBA (например, rgba(225,0,0,225))

  • HEX (например, #ff0000)

Изменение цвета значений

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

@row[0] - @row[1] > 100 ? 'blue':'red'

Где
@row[0], @row[1] - обращение к элементу массива через индекс столбца;
@row[0] - @row[1] - получение разницы между значениями из столбцов с индексами 0 и 1;
> 100 ? 'blue' - выделение значений, между которыми разница больше 100, синим цветом;
:'red' – выделение всех остальных значений красным цветом.

Возможно использование различных цветовых форматов:

  • HTML имя цвета (например, red)

  • RGBA (например, rgba(225,0,0,225))

  • HEX (например, #ff0000)

Форматирование значений ячеек

Вы можете отформатировать значения ячеек, чтобы они отображались особым образом в зависимости от текста значения. Например, можно выделить жирным шрифтом определенные категории значений. В нашем примере мы выделим слово Москва во всей таблице. Для этого мы введем следующую команду в поле Форматирование текста раздела Ячейки данных:

@value=='Москва'?'<b>' + @value +'</b>':@value

Где
@value=='Москва' – искомое значение, которое нужно выделить жирным шрифтом;
<b>' + @value +'</b>' – выделение значения жирным шрифтом с помощью тэгов;
:@value – указывает на то, что все остальные значения остаются без изменения.

Добавление подписи к значению

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

Math.round(@value/100000) + ' млн. руб'

Где

Math.round(@value/100000) - округление числового значения и деление его на 100000;

+ ' млн. руб' - добавленный текст.