Полный и компактный вид таблицы на сайте в личном кабинете
В примере реализована возможность переключения на компактный режим просмотра таблицы.
Это актуально в 2 случаях:
- когда в таблице много данных (но при обычной работе они не нужны в большинстве случаев).
- когда подгрузка множества данных в таблице замедляет загрузку таблицы в целом, т.е. при компактном режиме загрузка идет значительно быстрее.
Как реализовать:
1. Добавляем колонку compact (в фильтре ставим тип Переключатель)
2. Делаем обработку фильтра в GetItems. Если колонку не нужно выводить в компактном виде, то выводим NULL
CREATE PROCEDURE [dbo].[crud_watch_compactTable_getItems]
@filters CRUDFilterParameter READONLY,
@sort sql_variant,
@direction nvarchar(8),
@page int,
@pageSize int,
@username nvarchar(32)
AS
BEGIN
declare @ids TABLE (id int)
-- filters...
declare @filterName nvarchar(128)
select @filterName = Value from @filters where [Key] = 'name'
declare @compact bit
select @compact = try_cast(Value as bit) from @filters where [Key] = 'compact'
insert into @ids
select id
from tst_orders
-- SELECT 1
select
o.id id,
c.name customer,
iif(@compact=1, '', c.fio) desc_customer,
'fas fa-user' icon_customer,
(select name from tst_products where id = productID) product,
iif(@compact=1, '', ' Некая разметка формы ') modal_product,
FORMAT(created, 'dd.MM.yyyy') created,
'Время - 12:05' dropdown_created,
'blue' color_created,
(select name from tst_statuses where id = o.statusID) as status,
'purple' marker_status,
' заказ' suffix_status,
iif(@compact=1, NULL, isnull([price], 0)) price,
'1000' prev_price,
'green' prevcolor_price,
'1000' barPercent_price,
'success' barClass_price,
'lavender' color,
iif(@compact=1, NULL, 'Данные по колонке 1') col1,
iif(@compact=1, NULL, 'Данные по колонке 2') col2
from tst_orders o
join tst_customers c on c.id = o.customerID
where o.id in (select id from @ids)
order by
case when @sort = '' then created end desc,
case when @sort = 'name' and @direction = 'down' then name end desc,
case when @sort = 'name' and @direction = 'up' then name end asc
OFFSET @PageSize * (@Page - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;
-- SELECT 2
select count(*) from @ids
-- SELECT 3
Select 'h3' headerTag, 1 HideTitleCount,
iif(@compact=1, 1, 0) Compact,
iif(@compact=1, '18px', '14px') FontSize
END
Примечание: также мы применили режим compact и к настройкам таблицы в целом (SELECT 3)
Последние обновления
Интеграции 24.11.2025
Разное 24.11.2025
Форма 15.11.2025
Визуализация 02.11.2025
Таблица 08.10.2025
Форма 26.09.2025
Таблица 23.09.2025
Разное 23.08.2025
Таблица 21.08.2025
Форма 20.08.2025
Таблица 18.08.2025
Таблица 21.06.2025
Форма 07.06.2025
Форма 29.03.2025
Форма 17.02.2025
Файлы и документы 10.01.2025
Форма 01.11.2024
Форма 23.10.2024
SQL-инструмент для создания личных кабинетов на сайте
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства