Полный и компактный вид таблицы

В примере реализована возможность переключения на компактный режим просмотра таблицы. 

Это актуально в 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, '', '<div class="as-form " data-code="watch_formExample" data-itemID="'+try_cast(productID as nvarchar)+'" ></div>') 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, '<span class="badge badge-info">Данные по колонке 1</span>') col1,
        iif(@compact=1, NULL, '<span class="badge badge-warning">Данные по колонке 2</span>') 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)

Другие модули

Последние обновления

Вывод временной линии timeline

Визуализация 13.09.2021

Вывод диаграммы типа pie

Визуализация 13.09.2021

Вывод диаграммы вида radar

Визуализация 13.09.2021

Вывод графиков line

Визуализация 13.09.2021

Вывод гистограммы bar

Визуализация 13.09.2021

SQL-инструмент для создания личных кабинетов на сайте

Суть подхода и история создания Falcon Space

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства