View на форме

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

  1. doc

    doc Гость

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

    nvyush Well-Known Member
    Lotus team

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

    Omh Well-Known Member
    Lotus team

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

    doc Гость

    Репутация:
    0
    А как?
     
  5. nvyush

    nvyush Well-Known Member
    Lotus team

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

    Omh Well-Known Member
    Lotus team

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

    doc Гость

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

    nvyush Well-Known Member
    Lotus team

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

    TIA :-)
    Lotus team

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

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

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

    doc Гость

    Репутация:
    0
  11. nvyush

    nvyush Well-Known Member
    Lotus team

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

    TIA :-)
    Lotus team

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

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

    doc Гость

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

    doc Гость

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

    TIA :-)
    Lotus team

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

    doc Гость

    Репутация:
    0
    А что такое встроенный редактор?
     
  17. TIA

    TIA :-)
    Lotus team

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

    doc Гость

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

    lmike нет, пердело совершенство
    Lotus team

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

    doc Гость

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

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