Расширенные настройки работы таблицы (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

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

Редактирование полей таблицы в личном кабинете пользователя

Как добавить фильтры в таблицы в личном кабинете

Вывод простой таблицы в личном кабинете

Создание элемента в таблице в личном кабинете по 1 полю

Добавление элемента в таблицу через поле поиска

Создание подтаблиц в таблице в личном кабинете пользователя

Стилизация полей таблицы. Как улучшить дизайн таблиц на сайте

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

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

Виды таблицы: Календарь

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

Виды таблицы: Диаграмма Chartbar

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

Виды таблицы: Карточки

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

Виды таблицы: Доска Канбан

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

Виды менеджера ресурсов

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

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

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

Платформа Falcon Space

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

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

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

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

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

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