Как создать фильтр таблицы в виде дерева галочек на сайте

В этом примере мы реализовали таблицу с фильтром в виде дерева галочек.

Для этого мы:

  • создали таблицу
  • добавили в неё необходимые поля (id, city, product, created, price)
  • для поля city реализовали процедуру dict
  • реализовали процедуру GetItem
CREATE PROCEDURE [dbo].[crud_watch_tableTree_city_dict]
	@tableCode nvarchar(32),
	@col nvarchar(32),
	@username nvarchar(32)
as
begin
	select 
    	id Value,     -- id
 		name as Text,
		isnull(parentID, 0) Value2  -- parentID
    from tst_regions 
end

CREATE PROCEDURE [dbo].[crud_watch_tableTree_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 @filterCity nvarchar(128)
	select @filterCity = Value from @filters where [Key] = 'city'
	
	insert into @ids
	select o.id
	from tst_orders o
    join tst_regions r on r.id = o.regionID
    where (isnull(@filterCity,'')='' or regionID in (select try_cast(Value as int) from dbo.split(@filterCity, ',')) 
           							 or parentID in (select try_cast(Value as int) from dbo.split(@filterCity, ','))
                                            
        )
	
	-- SELECT 1
	select 
    	id id,
		isnull((select name from tst_regions where id  = regionID), '') city,
        (select name from tst_products where id = productID) product,
        isnull(FORMAT(created, 'dd.MM.yyyy'), '') created,
		isnull(price, 0) price
	from tst_orders 
	where id in (select id from @ids)
	order by  
		case when @sort = '' then id end asc
	OFFSET @PageSize * (@Page - 1) ROWS
	FETCH NEXT @PageSize ROWS ONLY;
	
	-- SELECT 2
	select count(*) from @ids	

	-- SELECT 3
	Select  '  ' Title, 1  HideTitleCount, 1 InstantFilter

END

Описание в документации по дереву галок в таблице - https://falcon.web-automation.ru/docs/tablica--kak-sdelat-filtr-s-derevom-galochek

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

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

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

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

Платформа Falcon Space

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

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

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

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

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

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