Сохранение параметров грида

Материал из GedeminWiki
Перейти к: навигация, поиск

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

Сейчас параметры грида хранятся в двоичном потоке, в Хранилище. Причем для каждого грида, для каждой его колонки, сохраняются все параметры вне зависимости от того используются они или нет, отличаются от установленных на уровне колонки таблицы и домена или нет.

Ядром системы будет объект TgdStyleManager, который отвечает за следующие функции:

  • Считывание настроек из реляционных таблиц и хранение в оперативной памяти в структурах, обеспечивающих максимальную скорость доступа.
  • Поиск подходящих настроек в соответствии с переданным контекстом.
  • Кэширование настроек между запусками программы. Сохранение в файле на локальном жестком диске. При запуске проверяется: менялись ли настройки в БД и если нет, то берутся из файла.
  • Запись изменений в базу данных по команде или при завершении работы программы.
  • Копирование настроек между пользователями системы.

Менеджер стилей работает на подобии технологии CSS. Например, запрашивается гарнитура шрифта для некоторой колонки грида:

  1. Сначала ищем указанный параметр по имени колонки, имени грида и имени типа формы (с учетом подтипа).
  2. Если не найден и грид подсоединен к БО, то ищем для бизнес-класса и имени поля.
  3. Если не найден, то ищем для таблицы и поля.
  4. Если не найден и для поля определен домен, то ищем для домена.
  5. Если не найден, то ищем для типа данных.
  6. Если не найден и определены общие параметры, то берем из них.

При этом, на каждом шаге ищем в следующем порядке:

  1. Для текущего пользователя.
  2. Если не найден, то для группы, в которую входит текущий пользователь (если входит в несколько, то берем из первой попавшейся под руку).


Содержание

Таблицы

Размерности

  • Грид (компонента) -- имя, имя родителя
  • Поле-таблица
  • Домен/класс данных
  • Бизнес-класс
  • Тема
  • Пользователь
  • Язык
  • Представление

Конвертация

Диалоговое окно настройки грида

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты