Таблица - множество редактируемых полей в одной ячейке

Теперь таблицы могут очень гибко выводить редактируемые поля (по сути миниформы в ячейке таблицы). 

С помощью разметки {edit-code1} мы можем вставлять редактируемое поле в любое место ячейки (как в примере поместить несколько полей в одну ячейку).

 

Как реализовать: 

создаем все необходимые поля у таблицы (те поля, что редактируются, должны иметь тип редактирования).  Поля, что будут использованы в {edit-...} создаем и скрываем. 

реализуем updateField  

реализуем GetItems: 

CREATE PROCEDURE [dbo].[crud_watch_colMultipleEdit_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'
	
	insert into @ids
	select id
	from [tst_products]
	where (isnull(@filterName, '')='' or name like '%'+@filterName+'%')
	
	-- SELECT 1
	select 
		id id,
		isnull(name, '') name,
        'Цена - {edit-price}

        Категория - {edit-category}

        Создано - {edit-created}
        
        '  desc_name,
        isnull([desc], '') [desc],
        'Видимый - {edit-isVisible}
' desc_desc,
        isnull(price, 0) price,
		isnull(FORMAT(created, 'dd.MM.yyyy'), '')created,
        cast(isnull(isVisible, '0') as bit) isVisible,
        (select name from tst_categories where id = (select categoryID from tst_categoryProducts where productID = p.id)) category
	from tst_products p
	where id in (select id from @ids)
	order by  
		case when @sort = ''  then id end asc,
        case when @sort = 'name' and @direction = 'up' then name end asc,
        case when @sort = 'name' and @direction = 'down' then name end desc,
        case when @sort = 'price' and @direction = 'up' then price end asc,
        case when @sort = 'price' and @direction = 'down' then price end desc,
        case when @sort = 'desc' and @direction = 'up' then [desc] end asc,
        case when @sort = 'desc' and @direction = 'down' then [desc] end desc,
        case when @sort = 'created' and @direction = 'up' then created end asc,
        case when @sort = 'created' and @direction = 'down' then created end desc
	OFFSET @PageSize * (@Page - 1) ROWS
	FETCH NEXT @PageSize ROWS ONLY;
	
	-- SELECT 2
	select count(*) from @ids	

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

ВАЖНО. Редактируемые поля обязательно нужно передавать как отдельные поля в SELECT 1.

 

 

Насколько полезна эта возможность?

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

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

Платформа Falcon Space

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

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

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

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

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

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

Сайт использует Cookie. Правила конфиденциальности OK