Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Прошу совета по поводу "динамического" меню / 5 сообщений из 5, страница 1 из 1
23.03.2004, 18:00
    #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
23.03.2004, 18:30
    #32453745
Louder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу совета по поводу "динамического" меню
Ну если приложение маленькое и в коробки не пойдёт, то можно и так.
А если пунктов меню много будет, то замучаешься дописывать код.
У меня меню в виде дерева представлено (treeview).
С ним работать проще, чем с обычным меню и смотрится очень красиво.
К тому-же пользователю не приходится мышкой искать нужный пункт - всё меню развернуто на экране.
...
Рейтинг: 0 / 0
23.03.2004, 18:39
    #32453762
DenisVK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу совета по поводу "динамического" меню
Ну тогда проще самому генерить меню исходя из ролей для каждого пользователя, а иначе можно действительно запутаться, как пример создания динамического меню
...
Рейтинг: 0 / 0
23.03.2004, 19:02
    #32453800
Вовик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу совета по поводу "динамического" меню
LouderУ меня меню в виде дерева представлено (treeview).

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

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


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