View на форме

Тема в разделе "Lotus - Программирование", создана пользователем doc, 30 сен 2009.

  1. doc

    doc Гость

    Можно ли динамически определять на форме связанное view, а также переопределять выборку на этом view?
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В свойстве внедренного вида Embedded Selection выбираем Formula и пишем туда формулу, возвращающую имя(псевдоним) нужного вида.
    Виды делаем категоризованными, в Show single category пишем формулу, возвращающую нужную категорию. Как-то так.
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    можно, и так же можно :wacko:
     
  4. doc

    doc Гость

    А как?
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    см. пост 2
     
  6. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    По первому пунку - второй пост.
    А по вторjму пункту - меняя View.SelectionFormula.
    Только юз виз кашен, ибо view обычно один на всех :wacko:
     
  7. doc

    doc Гость

    Возник еще такой вопрос. Можно ли добавить на форму (диалоговое окно) view из другой базы и также динамически переопределять выборку? Как это сделать?
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  9. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Можно, но не тривиально. И "другая база" должна быть на воркспэйсе.

    Делаем встроенный редактор по пустой форме c автофрэймсетом. Фреймсет с двумя фреймами. Сам редактор отображаем в маленьком фрэйме, чтоб незаметным пользователю был. Большой фрейм с вычисляемым по URL содержанием. URL должен указывать на БД, данные из которой хотим отображать. По URL приходится открывать существующий сохранённый документ. Потому в целевой БД лучше заготовить служебный элемент дизайна (например навигатор) и вьюшку, содержащую этот ЭД. ЭД должен содержать дополнительное поле "Form" При вычислении URL, отлукапливать по виду UNID этого ЭД. Т.о. по URL будем открывать этот ЭД,а т.к. у него есть поле Form, то откроется он по форме из целевой БД. Чувствуете, что получается? В исходном документе есть область, отображающая данные по форме из другой БД. Остаётся в форму целевой БД встроить вид и передать ему значение для SingleCategory. Способы разные - самый простой через notes.ini.

    nvy
    Ну, я свой пост с sysadmin'а в предыдущий тут и скопировал.
     
  10. doc

    doc Гость

  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Думаю, вариант TIA более простой и менее глюкавый, хотя сам не пробовал ни то, ни другое
     
  12. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Описанный там вариант меняет элемент дизайна (через DXL), а значит применим только если базой одновременно пользуется только 1 пользователь. Плюс вызывает репликацию изменённого элемента. Мой вариант не модифицирует элементы дизайна и допускает параллельную работу пользователей.

    Да, и часто забывают, что модификация ЭД требует дизайнерского доступа в БД.
     
  13. doc

    doc Гость

    Меняю субформу через DXL, переопределяю реплику БД. Запускаю форму появляется необходимое view из БД. НО когда повторно переопределяю субформу, чтобы появилась view из другой БД, субформа изменяется, а вот форма не изменяется, показывает view из предыдущей БД. Закрыв базу, и снова отрыв работет. В чем может быть проблема?
     
  14. doc

    doc Гость

    А можно ли на основе формы с фреймсетом сделать диалоговое окно? У меня получается (при NotesUIWorkspace.DialogBox(......)), что форма отображается, а привязанный фрейм нет. Все это затеяно, что бы сделать диалоговое окно, в котором пользователь смог бы отметить необходимые ему документы и сохранить их UNID в текущем документе, из которого вызывается диалоговое окно? Причем в диалоговом окне должны отображаться документы, которые можно выбрать и, те которые уже ранее были выбраны.
     
  15. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    А чем NotesUIWorkSpace.PickListStrings не подходит?
     
  16. doc

    doc Гость

    А что такое встроенный редактор?
     
  17. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    В дизайнере открываем форму далее меню
    Create\Embedded Element\Editor
     
  18. doc

    doc Гость

    Необходимо реализовать возможность отображения списка документов, которые ранее были выбраны, т.е пользователь должен видеть какие документы он уже раннее отметил, и отмечает те документы которые бы он хотел добавить. И хотелось бы это изобразить в виде двух списков. Первый это view, в котором имеется список еще не выбранных документов, а второй список в виде ListBox (или м.б. тоже view) со списком отмеченных документов. При выборе документа в первом списке (доступных документов) и нажатии кнопки "Добавить" документ добавляется во второй список и , желательно исчезает из первого списка, что бы он не мешал выбору других документов. Т.е. по аналогии с диалоговым окном ACL. Я реализовал данный вариант в виде двух LIstBox. Но ListBox скудно отображает список доступных документов без иерархии (категоризации).
    Буду очень признателен.
     
  19. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    а что мешает сделать два вью на форме, один из кот. - приватная папка (в ней и хранить выделенные)
     
  20. doc

    doc Гость

    Но view, в котором выбираются документы, находится в другой базе, которая изначально не известна, а определяется только при открытии диалоговой формы. Причем если форма определена как Auto Frame, то привязанный фрейм не отображается в форме при открытии ее как notesUIWorkspace.DialogBox()
     
Загрузка...

Поделиться этой страницей