Настройка параметров таблицы (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

 

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

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

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

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

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

Создание нового элемента в таблице на сайте

Как добавить существующий элемент в таблицу через поле поиска

Как создать вложенные таблицы на сайте

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

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

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

Форма генерации счета

Файлы и документы 10.01.2025

Пробы разных диаграмм

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

Платформа Falcon Space

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

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

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

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

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

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

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