Пример DBGate 04 - Форма заказа

Этот пример демонстрирует возможности DBGate:

Ниже приведен пример встроенной формы.

Встраивание форм

Чтобы встроить форму, добавьте db.css в заголовок, db.js в конец страницы и используйте элемент следующим образом:

<div class="db-control" data-app="dbgate" data-url="v4/mssql-041/ru-ru/usp_order_form"></div>

Динамические списки значений параметров

Чтобы протестировать динамические списки, измените категорию в первом параметре.
Вы увидите обновленные списки в остальных параметрах.

Идея проста: добавьте параметр в хранимую процедуру для получения списка значений.
Вы можете просмотреть код хранимых процедур в браузере кода ниже.

Это пример настройки списков значений параметров.

Формулы на стороне клиента

Чтобы протестировать расчетные колонки, измените количество в любой ячейке.

Формула для колонки Total =[@amount]*[@price] задана в представлении view_items.

DBGate поддерживает формулы Excel, использующие имена колонок и операторы JavaScript.

Условное форматирование

Этот пример загружает правила форматирования из таблицы xls.handlers.

Вы можете использовать бесплатную версию плагина SaveToDB для преобразования условного форматирования Excel
в набор правил. Используйте пункт "Мастера", "Инструменты разработчика", "Показать формат таблицы".

Защита ячеек

Последний интересный момент — это защита ячеек с помощью серверных обработчиков событий изменения ячеек.

Попробуйте удалить наименование или установить значение в строке категории.

Сервер вернет ошибку 500, и DBGate отменит изменения.

Чтобы защитить ячейку от изменений, вызовите исключение в SQL коде.
Например, для SQL Server используйте RAISERROR (@message, 11, 0).

См. SQL код процедуры s04.usp_order_form_change, которая используется как обработчик.

Заключение

Этот пример показывает, как разработчики баз данных могут создавать интерактивные веб-формы.

Создайте обработчик события изменений ячеек, процедуры получения списков значений параметров
и добавьте условное форматирование.

Используйте формулы Excel в SELECT для расчета колонок и встраивайте формы в корпоративные веб-страницы.

Браузер кода



Вы можете загрузить примеры для SQL Server, Oracle Database, MySQL и PostgreSQL на странице SaveToDB SDK.