Как добавить существующий элемент в таблицу через поле поиска
В этом примере мы реализовали быстрое добавление строки в таблицу.
Для этого мы:
- создали таблицу
- добавили в неё необходимые поля (id, name, code, value, category)
- в настройках таблицы (Быстрое создание по имени) установили переключатель на "Да"
- реализовали процедуру GetItem
- создали хранимую процедуру непосредственно из базы данных.
CREATE PROCEDURE [dbo].[crud_watch_createSearch_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 @filterItemID nvarchar(128)
select @filterItemID = try_cast(Value as int) from @filters where [Key] = 'itemID'
insert into @ids
select id
from tst_products
where (isnull(@filterItemID, 0) = 0 or id = @filterItemID)
-- SELECT 1
select
id id,
isnull(name, '') name,
isnull(art, 'Не указано') art,
isnull([desc], 'Не указано') [desc],
isnull(try_convert(datetime, created, 104), '')created,
isnull(isVisible, 0) isVisible,
isnull((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, iif(@filterItemID is null, 1, 0) FastCreate, 1 FastCreateSearch
END
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'crud_watch_createSearch_fastCreate_search') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[crud_watch_createSearch_fastCreate_search]
GO
CREATE PROCEDURE [dbo].[crud_watch_createSearch_fastCreate_search]
@q nvarchar(256),
@itemID nvarchar(128),
@username nvarchar(256)
AS
BEGIN
CREATE TABLE dbo.#result (id int, [text] nvarchar(256), [desc] nvarchar(1024), [type] nvarchar(256), [date] date)
insert into #result
select id, name, '', '', getdate()
from tst_products p
where name like '%'+@q+'%'
select * from #result
drop table #result
END
go
Название процедуры в виде crud_{tableCode}_{name}
Примечание : Имя (name) должно быть обязательно с префиксом _search, в нашем случае fastCreate_search
Другие демостенды
— Выбор значения из таблицы на манер 1С— Генерация текста по API через сервис fish-text
— Вывод диаграммы по дням из данных таблицы
— Таблица - навигация по ячейкам таблицы с помощью стрелок клавиатуры. Аналог Excel таблицы на сайте
— Фильтр выбор с поиском по базе в таблице (select-search)
— Фильтр select2 для таблиц с множественным выбором
Что есть в базе знаний по этой теме
— Настройки системы— Как убрать показ количества строк результата в заголовке таблицы?
— Как делать различный набор столбцов одной таблицы для разных ролей
— Как добавить новый элемент, если в списке на форме его нет
— Как настроить меню на смартфонах снизу экрана
— Управление настройками поля через options_ поля
— Как выбрать значение списка через справочник в модальном окне
Последние обновления
Интеграции 24.11.2025
Разное 24.11.2025
Форма 15.11.2025
Визуализация 02.11.2025
Таблица 08.10.2025
Форма 26.09.2025
Таблица 23.09.2025
Разное 23.08.2025
Таблица 21.08.2025
Форма 20.08.2025
Таблица 18.08.2025
Таблица 21.06.2025
Форма 07.06.2025
Форма 29.03.2025
Форма 17.02.2025
Файлы и документы 10.01.2025
Форма 01.11.2024
Форма 23.10.2024
SQL-инструмент для создания личных кабинетов на сайте
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства