powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Прошу совета по поводу "динамического" меню
5 сообщений из 5, страница 1 из 1
Прошу совета по поводу "динамического" меню
    #32453701
Фотография Вовик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходные данные :
1) Есть несколько фиксированных ролей в БД
2) Для Каждой роли известен список функций
3) Вызов каждой функции реализован в виде пункта в меню (меню фрейма)
4) каждый пользователь может иметь одну или несколько ролей
5) в конструкторе меню изначально все пункты скрыты
6) После подключения к БД нужно показать нужные пункты меню

Я предполагаю сделать это так :
1) создать в БД view , которое вернет список ролей текущего юзера в виде
единой строки с разделением через пробел
2) в событии pfc_preopen фрейма выполнить управление видимостью меню
по типу :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
//меняем свойства главного меню в зависимости от
//полномочий пользователя
if Pos(gnv_app.is_role,  "кассир" )> 0  then
  m_master_rus.m_cash.visible=true
  m_master_rus.m_cash.m_book.ToolbarItemVisible=true
  m_master_rus.m_cash.m_cashr.ToolbarItemVisible=true
  m_master_rus.m_cash.m_cash_res_u.ToolbarItemVisible=true
  m_master_rus.m_cash.m_cashr_res_u.ToolbarItemVisible=true
end if
// и тд для других ролей


Это нормальный вариант или можно делать по другому ?
...
Рейтинг: 0 / 0
Прошу совета по поводу "динамического" меню
    #32453745
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если приложение маленькое и в коробки не пойдёт, то можно и так.
А если пунктов меню много будет, то замучаешься дописывать код.
У меня меню в виде дерева представлено (treeview).
С ним работать проще, чем с обычным меню и смотрится очень красиво.
К тому-же пользователю не приходится мышкой искать нужный пункт - всё меню развернуто на экране.
...
Рейтинг: 0 / 0
Прошу совета по поводу "динамического" меню
    #32453762
Фотография DenisVK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда проще самому генерить меню исходя из ролей для каждого пользователя, а иначе можно действительно запутаться, как пример создания динамического меню
...
Рейтинг: 0 / 0
Прошу совета по поводу "динамического" меню
    #32453800
Фотография Вовик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LouderУ меня меню в виде дерева представлено (treeview).

Это хорошо , только на экране лишнее место занимает.
И еще не понял , как это связно с динаминостью ?

DenisVK Ну тогда проще самому генерить меню исходя из ролей для каждого пользователя, а иначе можно действительно запутаться
Мне не ясно вот что : если появляется принципиально новая функция ,
то все равно нужно перекомпилировать приложение : окна строить ,
dw рисовать .
А уж потом новый пункт меню делать и управлять его доступностью.
Так ведь? в чем тут можно запутаться ?
...
Рейтинг: 0 / 0
Прошу совета по поводу "динамического" меню
    #32455141
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Места вообще не занимает. У меня MDI приложение и меню в отдельном окошке.
Когда нужно, пользователь на него переключается нажатием кнопки на тулбаре.
А насчет динамичности, что может быть динамичней treview?
к каждому элементу дерева можно присвоить кучу атрибутов и потом по ним фильтровать.
Все настройки меню для каждого пользователя или роли сохраняются в базу.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Прошу совета по поводу "динамического" меню
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]