Контекстное меню

Контекстное меню

Разработчики могут настраивать контекстные меню.

Следующие действия доступны во всех продуктах SaveToDB:

  • Выполнение запросов к таблицам и представлениям
  • Выполнение хранимых процедур
  • Выполнение команд SQL
  • Выполнение HTTP запросов

Надстройка SaveToDB дополнительно поддерживает:

См. Типы обработчиков событий.

Для добавления пунктов меню используйте строки с типом ContextMenu в таблице xls.handlers.

Например:

IDTABLE_SCHEMATABLE_NAMECOLUMN_NAMEEVENT_NAMEHANDLER_SCHEMAHANDLER_NAMEHANDLER_TYPEHANDLER_CODETARGET_WORKSHEETMENU_ORDEREDIT_PARAMETERS
 s04usp_order_formContextMenus04Google SearchHTTPhttps://www.google.com/search?as_q={name}11
 s04usp_order_formContextMenus04MenuSeparator40MENUSEPARATOR40
 s04usp_order_formContextMenus04xl_actions_items_insert_itemPROCEDURE_Reload411
 s04usp_order_formContextMenus04xl_actions_items_delete_itemPROCEDURE_Reload471
 s04usp_order_formContextMenus04xl_actions_items_rename_itemPROCEDURE_Reload491

Пример содержит две секции пунктов меню, разделенных разделителем.

Разделители также должны иметь имена, т.к. в таблице определен уникальный индекс, включающий колонки от TABLE_SCHEMA до HANDLER_NAME.

Вы можете использовать возможности перевода, чтобы присвоить понятные имена пунктам меню. См. Перевод имен объектов.

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

Обратите внимание на значение _Reload в поле TARGET_WORKSHEET.

Вы можете использовать его, чтобы обновить данные после выполнения обработчика. См. больше опций в Значения поля TARGET_WORKSHEET.

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

Контекстные параметры

Обработчики контекстного меню могут использовать значения из активной строки, значения параметров активного запроса и следующие контекстные параметры:

Имя параметраЗначение
@ColumnName или @column_nameИмя колонки ячейки
@CellValue или @cell_valueСтроковое значение ячейки
@CellNumberValue или @cell_number_valueЧисловое значение ячейки
@CellDateTimeValue или @cell_datetime_valueЗначение ячейки типа datetime
@DataLanguage или @data_languageКод языка данных, выбранного в диалоговом окне "Настройки"
@TableName или @table_nameПолное экранированное имя объекта запроса как [s02].[usp_cashbook]
@WindowsUserName или @windows_user_nameЛогин Windows текущего пользователя