Форматы таблиц

Форматы таблиц

Надстройка SaveToDB позволяет загружать и сохранять форматы таблиц в любое время, используя элементы ленты:

  • Сохранить формат таблицы
  • Обновить формат таблицы
  • Мастер форматов таблиц

Надстройка сохраняет форматы в таблице xls.formats.

Также надстройка загружает форматы, когда пользователь подключается к объекту в первый раз. Это удобно, т.к. пользователи сразу получают отформатированную таблицу.

DBEdit, DBGate и ODataDB также загружают форматы таблиц. Однако, продукты поддерживают лишь ограниченный набор форматирования Microsoft Excel.

Разработчики могут определить в базе данных правила форматирования в стиле CSS для DBEdit, DBGate и ODataDB. Они приведены ниже.

Также разработчики могут использовать обычные стили CSS для страниц DBGate и ODataDB.

Форматы CSS

Разработки могут определить форматы таблиц в поле HANDLER_CODE с типом Format в поле EVENT_NAME таблицы xls.handlers.

Например:

IDTABLE_SCHEMATABLE_NAMECOLUMN_NAMEEVENT_NAMEHANDLER_SCHEMAHANDLER_NAMEHANDLER_TYPEHANDLER_CODE
 s17usp_requestFormatATTRIBUTE<Format>

Ниже приведен пример формата:

[{"format":"font-family: Calibri; font-size: 11pt; border-style: none"},
{"formula":"row_format=1","format":"background-color: rgb(33,89,103); color: white !important; font-weight: bold","stopIfTrue":true},
{"formula":"row_format=2","format":"font-weight: bold"},
{"formula":"row_format=9","format":"background-color: rgb(0,33,96); color: white !important; font-weight: bold"},
{"formula":"<0","format":"color:red","columns":"data00,data01,data02,data03,data04,data05,data06,data07,data08,data09,data10,data11,data12"},
{"formula":"[cf_sign=0][pl_sign=-1][=null]","format":"background-color: rgb(255,255,0);","columns":"asset_account_id"}]

Определение формата содержит JSON массив объектов формата.

Объекты формата могут содержать свойства: format, formula, columns и stopIfTrue.

Свойство format содержит стили в формате CSS.

DBGate и ODataDB поддерживают любые правила CSS. DBEdit поддерживает ограниченный набор:

  • border-style (none)
  • background-color
  • color
  • font-weight (bold | 600 | 700)
  • font-family
  • font-size (pt | px)
  • font-style (italic)
  • text_decoration (underline | line-through)

Свойство formula определяет условия для применения формата. Используйте квадратные скобки для определения нескольких условий AND (как в CSS).

Используйте имя поля, знак и условие, как, например, row_format=1, или просто знак и значение, как <0.

Также поддерживаются специальные формулы: even (четная строка), odd (нечетная строка), tr:nth-child(even) и tr:nth-child(odd).

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

Используйте свойство stopIfTrue чтобы остановит дальнейшее применение правил.

DBEdit игнорирует атрибут !important, который можно использовать в DBGate и ODataDB.

Вы можете использовать следующие шаги для создания сложных форматов в визуальном режиме:

  • Установите надстройку SaveToDB для Microsoft Excel (можно использовать бесплатную редакцию).
  • Подключитесь к объекту базы данных в Microsoft Excel и отформатируйте его, в т.ч. с условным форматированием.
  • Запустите "Мастера", "Инструменты разработчика", "Показать формат таблицы".
  • Скопируйте формат и вставьте его в поле HANDLER_CODE.
  • Отредактируйте формат и сохраните его.