Выделение цветом минимального и максимального значения в таблице
В аналитических таблицах удобно сразу видеть минимальное и максимальное значение в колонках или строках таблицы.
Важно. В учет берутся только данные, которые есть в данный момент на странице (т.е. пагинация не учитывается).
Как это работает?
В SELECT 3 в параметре ProcessOptions мы указываем JSON, описывающий действия с таблицей после ее рендеринга.
Параметр colorMinMaxRow находит в каждой строке min и max и добавляем ячейкам класс minClass и maxClass (поля этого объекта).
Альтернативно можно указать в colorMinMaxRow "gradientMaxColor": "#373" или "colorMinMaxRow ": "#373" - тогда будут работать полутона указанного цвета (в первом случае max значение будет самым темным, а во втором случае минимальное число будет самым темным).
Параметр colorMinMaxCols содержит массив колонок. Система находит в каждой колонке min и max и добавляем ячейкам класс minClass и maxClass (поля объекта колонки).
По аналогии для colorMinMaxCols также можно указать значения градаций цветов для колонок "gradientMinColor": "#833" или "gradientMaxColor": "#833".
Таблица 1. Градиент цветов по строкам таблицы
GetItems таблицы:
CREATE PROCEDURE [dbo].[crud_watch_colorRowGradient_getItems]
@filters CRUDFilterParameter READONLY,
@sort sql_variant,
@direction nvarchar(8),
@page int,
@pageSize int,
@username nvarchar(32)
AS
BEGIN
-- SELECT 1
select top 10
'Некая строка #' + cast(id as nvarchar) name,
ABS(CHECKSUM(NewId())) % 1000 f1,
ABS(CHECKSUM(NewId())) % 1000 f2,
ABS(CHECKSUM(NewId())) % 1000 f3,
ABS(CHECKSUM(NewId())) % 1000 f4,
ABS(CHECKSUM(NewId())) % 1000 f5,
ABS(CHECKSUM(NewId())) % 1000 f6
from as_trace
-- SELECT 2
select 1
-- SELECT 3
select 1 Compact, 1 HideTitleCount, 'h4' headerTag,
'{ "colorMinMaxRow": { "minClass1": "text-danger", "maxClass1": "text-success", "gradientMaxColor": "#373" }
}' ProcessOptions
END
Таблица 2. Градиент цветов таблицы по выбранным столбцам
GetItems таблицы:
CREATE PROCEDURE [dbo].[crud_watch_colorColGradient_getItems]
@filters CRUDFilterParameter READONLY,
@sort sql_variant,
@direction nvarchar(8),
@page int,
@pageSize int,
@username nvarchar(32)
AS
BEGIN
-- SELECT 1
select top 10
'Некая строка #' + cast(id as nvarchar) name,
ABS(CHECKSUM(NewId())) % 1000 f1,
ABS(CHECKSUM(NewId())) % 1000 f2,
ABS(CHECKSUM(NewId())) % 1000 f3,
ABS(CHECKSUM(NewId())) % 1000 f4,
ABS(CHECKSUM(NewId())) % 1000 f5,
ABS(CHECKSUM(NewId())) % 1000 f6
from as_trace
-- SELECT 2
select 1
-- SELECT 3
select 1 Compact, 1 HideTitleCount, 'h4' headerTag,
'{
"colorMinMaxCols": [
{ "code": "f1", "minClass1": "text-danger", "maxClass1": "text-success", "gradientMinColor": "#833" },
{ "code": "f2", "minClass1": "text-danger", "maxClass1": "text-success", "gradientMaxColor": "#393"}
]
}' ProcessOptions
END
Таблица 3. Как реализовать выделение максимуму и минимума по строкам
GetItems таблицы:
CREATE PROCEDURE [dbo].[crud_watch_colorRow_getItems]
@filters CRUDFilterParameter READONLY,
@sort sql_variant,
@direction nvarchar(8),
@page int,
@pageSize int,
@username nvarchar(32)
AS
BEGIN
-- SELECT 1
select top 10
'Некая строка #' + cast(id as nvarchar) name,
ABS(CHECKSUM(NewId())) % 1000 f1,
ABS(CHECKSUM(NewId())) % 1000 f2,
ABS(CHECKSUM(NewId())) % 1000 f3,
ABS(CHECKSUM(NewId())) % 1000 f4,
ABS(CHECKSUM(NewId())) % 1000 f5,
ABS(CHECKSUM(NewId())) % 1000 f6
from as_trace
-- SELECT 2
select 1
-- SELECT 3
select 1 Compact, 1 HideTitleCount, 'h4' headerTag,
'{ "colorMinMaxRow": { "minClass": "text-danger", "maxClass": "text-success" }
}' ProcessOptions
END
Таблица 4. Как реализовать выделение min max для выбранных колонок
GetItems таблицы:
CREATE PROCEDURE [dbo].[crud_watch_colorCol_getItems]
@filters CRUDFilterParameter READONLY,
@sort sql_variant,
@direction nvarchar(8),
@page int,
@pageSize int,
@username nvarchar(32)
AS
BEGIN
-- SELECT 1
select top 10
'Некая строка #' + cast(id as nvarchar) name,
ABS(CHECKSUM(NewId())) % 1000 f1,
ABS(CHECKSUM(NewId())) % 1000 f2,
ABS(CHECKSUM(NewId())) % 1000 f3,
ABS(CHECKSUM(NewId())) % 1000 f4,
ABS(CHECKSUM(NewId())) % 1000 f5,
ABS(CHECKSUM(NewId())) % 1000 f6
from as_trace
-- SELECT 2
select 1
-- SELECT 3
select 1 Compact, 1 HideTitleCount, 'h4' headerTag,
'{
"colorMinMaxCols": [
{ "code": "f1", "minClass": "text-danger font-weight-bold", "maxClass": "text-success font-weight-bold" },
{ "code": "f3", "minClass": "text-danger font-weight-bold", "maxClass": "text-success font-weight-bold" },
{ "code": "f5", "minClass": "text-danger font-weight-bold", "maxClass": "text-success font-weight-bold" }
]
}' ProcessOptions
END
Другие модули
Как редактировать поля прямо в таблице на сайте
Как добавить фильтры данных таблицы в личном кабинете
Вывод таблицы на сайте в личном кабинете
Создание нового элемента в таблице на сайте
Как добавить существующий элемент в таблицу через поле поиска
Как создать вложенные таблицы на сайте
Стилизация полей таблицы. Как улучшить дизайн таблиц на сайте
Последние обновления
Файлы и документы 10.01.2025
Форма 01.11.2024
Форма 23.10.2024
Форма 13.08.2024
Таблица 03.06.2024
Таблица 23.09.2023
15.09.2023
Визуализация 02.08.2023
Визуализация 02.08.2023
Визуализация 01.08.2023
Таблица 18.03.2023
Форма 19.12.2022
Таблица 06.12.2022
Форма 01.12.2022
Форма 21.11.2022
Форма 17.11.2022
Форма 10.11.2022
SQL-инструмент для создания личных кабинетов на сайте
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства