Настройка параметров таблицы (SELECT 3)

В этом примере мы реализовали таблицу с различными дополнительными параметрами, такими как  Title, TitleTooltip, ToolbarAdditional, Subtitle, GroupOperationsToolbar,  EmptyText, FastCreateLinkText, FastCreateDialogHeader, FastCreateDialogPlaceholder, FastCreateSearch, FastCreateTextarea,  HideTitleCount,  DisableCellTitle, ButtonSize, FontSize, Compact, ZoomCells, EnableExcelExport, EnablePrint, EnableClipboard, EditableMode, DisableFrozenHeader, DisableCellTitle, Collapse, HeaderTag, Theme, ShowNumsCol, Remove, RemoveConfirmText, FastCreate, InstantFilter.

Для этого мы:

  • создали таблицу
  • добавили в неё необходимые колонки (id, name, price, art, created, theme)
  • установили фильтр "Список"для поля theme и настроили её SQL 
  • реализовали процедуру GetItem
  • реализовали процедуру UpdateField
  • реализовали процедуру DeleteItem
CREATE PROCEDURE [dbo].[crud_watch_setting1_theme_dict]
	@tableCode nvarchar(32),
	@col nvarchar(32),
	@username nvarchar(32)
as
begin
	-- источник данных для списка значений (Value, Text)
	select 'light' Value, 'light' Text
	union
	select 'dark' Value, 'dark' Text
end
CREATE PROCEDURE [dbo].[crud_watch_setting1_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 @filterTheme nvarchar(128)
	select @filterTheme = Value from @filters where [Key] = 'theme'

	insert into @ids
	select id
	from tst_products

	-- SELECT 1
	select id id,
        isnull(name, '') name,
        isnull(price, 0)price,
        isnull(art, '') art,
        isnull(format(created, 'dd.MM.yyyy'), '01.01.1900') created
	from tst_products
	where id in (select id from @ids)
	order by
		case when @sort = 'name' and @direction = 'down' then name end desc,
		case when @sort = 'name' and @direction = 'up' then name end asc,
        case when @sort = 'price' and @direction = 'down' then price end desc,
		case when @sort = 'price' and @direction = 'up' then price end asc,
        case when @sort = 'art' and @direction = 'down' then art end desc,
		case when @sort = 'art' and @direction = 'up' then art end asc,
        case when @sort = 'created' and @direction = 'down' then created end desc,
		case when @sort = 'created' and @direction = 'up' then created end asc
	OFFSET @PageSize * (@Page - 1) ROWS
	FETCH NEXT @PageSize ROWS ONLY;

	-- SELECT 2
	select count(*) from @ids

	-- SELECT 3
	Select
    	'Настройки таблицы' Title,
        'В select 3' TitleTooltip,
		'' ToolbarAdditional,
        '' Subtitle,
		'' GroupOperationsToolbar,
		'Отсутсвуют данные' EmptyText,
		'Создать' FastCreateLinkText, 'Имя' FastCreateDialogHeader, 'Продукт' FastCreateDialogPlaceholder,
		0 FastCreateSearch, 0 FastCreateTextarea,
		0 HideTitleCount,
		0 DisableCellTitle,
        1 InstantFilter,
        'sm' ButtonSize,
		'10px' FontSize,
        1 Compact,
        0 ZoomCells,
        1 EnableExcelExport, 1 EnablePrint, 1 EnableClipboard,
        'inline' EditableMode,
        1 DisableFrozenHeader,
        1 DisableCellTitle,
        1 Collapse,
        'h6' HeaderTag,
        @filterTheme Theme,
        1 ShowNumsCol,
        1 Remove,
        'Удалить?' RemoveConfirmText,
        1 FastCreate
END
CREATE PROCEDURE [dbo].[crud_watch_setting1_updateField]
	@itemID int,
	@field nvarchar(64),
	@value nvarchar(max),
	@username nvarchar(64)
AS
BEGIN

if(@field = 'art') begin
	update tst_products set art = @value where id = @itemID
end else begin
	select 'Невалидный код свойства' Msg, 0 Result
	return
end
select '' Msg, 1 Result

END
CREATE PROCEDURE [dbo].[crud_watch_setting1_deleteItem]
	@itemID int,
	@username nvarchar(32)
AS
	-- удаление строки таблицы
	SET NOCOUNT off ;

	-- удаление элемента
	delete from tst_products where id = @itemID

	if (@@ROWCOUNT > 0) begin
		select '' Msg, 1 Result
	end else begin
		select 'Запись не удалилась из базы' Msg, 0 Result
	end

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

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

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

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

Платформа Falcon Space

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

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

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

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

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

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