Как объявить глобальную переменную в mendix? - PullRequest
1 голос
/ 22 апреля 2019

Я хочу объявить переменную, значение которой может отображаться в любом месте приложения (на любой странице) и может быть изменено из любого микропотока. Как мы можем сделать это??

1 Ответ

1 голос
/ 24 апреля 2019

Поскольку все изменяемые значения в mendix представлены атрибутами в сущности, вам нужно создать сущность, чтобы иметь возможность изменять значение.Наиболее близкая вещь к глобальной переменной в Mendix - это атрибут одноэлементной сущности.

Предположим, мы хотим иметь возможность изменять некоторые настройки вашего приложения через пользовательский интерфейс или микропоток.Для этого мы можем создать сущность AppSettings с атрибутами для всех различных «глобальных переменных», которые необходимо установить.

enter image description here

это одноэлементная сущность, нам нужно убедиться, что в базе данных есть только один такой объект.Для этого обычной практикой является реализация микропотока GetOrCreate, который извлекает объект AppConfiguration из базы данных и создает его, если его еще нет.

enter image description here

Теперь мы можем использовать 'GetOrCreateAppConfiguration' где угодно, где нам нужно прочитать или изменить настройки нашего приложения, например, микропоток.

enter image description here

Используя 'GetOrCreateAppConfiguration', мы также можем создать страницу настроек, где администраторы могут изменять атрибуты AppConfiguration, используя DataView с извлечением Microflow.

enter image description here

Мы также можем использовать представление данных для отображения пользователям «глобальной переменной» AppName и использовать условную видимость, основанную на флаге функции «глобальные переменные», для отображения или скрытия элементов пользовательского интерфейса.Обратите внимание, что это означает, что мы, вероятно, не должны предоставлять обычным пользователям доступ на запись к атрибутам AppConfiguration.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...