Форма. Как вывести дерево с выбором галочек

Демостенд этой возможности - /tst-form-treeview

Выбираем тип поля Дерево с галочками (treeCheckboxes). 

Указываем в процедуре dict дерево в виде списка Value, Value2 (здесь будет parentID), Text

CREATE PROCEDURE [dbo].[fm_tst-form-treeview_f1_dict]
   @username nvarchar(256), 
   @itemID nvarchar(128) 
AS
BEGIN	
	select c.id Value,     -- id
		c.name as Text,    
		isnull(c.parentID, 0) Value2  -- parentID
    from tst_categories c	
END

В процедуре GetItem необходимо передать текущие выбранные галочки через запятую.

CREATE PROCEDURE [dbo].[fm_tst-form-treeview_getItem]
    @itemID int,	
	@username nvarchar(256)

AS
BEGIN
	select  
      STUFF((SELECT ',' + cast(id as nvarchar)
      FROM tst_categories
      WHERE selected=1
      FOR XML PATH('')), 1, 1,'') f1  -- выделенные категории
END

В процедуре SaveItem сохраняем значения галочек (они приходят как выбранные значения через запятую).

CREATE PROCEDURE [dbo].[fm_tst-form-treeview_saveItem]
   @username nvarchar(256), 
   @itemID int,
   @parameters ExtendedDictionaryParameter READONLY	
AS
BEGIN
	
	declare @pf1 nvarchar(max)
	select @pf1 = Value2 from @parameters where [key]='f1'
    
    exec as_print @str = @pf1
	
    update tst_categories 
    set selected= 0
    
    update tst_categories 
    set selected= 1
    where id in (select Value from dbo.split(@pf1,',') where Value<>'')
    
    -- SELECT 1 (Result, Msg, SuccessUrl, HideFormAfterSubmit, RefreshContainer)
	select 1 Result, 'OK' Msg, '' SuccessUrl, 0 HideFormAfterSubmit, '' RefreshContainer
END
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK