Как на Lotusscript выделить документ в представлении

  • Автор темы soleil
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

soleil

#1
Необходимо программно переместить строку выделения на другой документ в представлении. Можно ли как-то использовать для этого UnprocessedDocuments?
 

hosm

* so what *
18.05.2009
2 442
6
#2
что-то типа SelectDocument должно быть, посмотрите в хелпе
 

xKlonx

Lotus team
10.09.2009
410
0
#3
Вот вам пример из хелпа:
Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim uiview As NotesUIView
Set db = session.CurrentDatabase
Set uiview = workspace.CurrentView
Set collection = db.AllDocuments
Set doc = collection.GetFirstDocument
Call uiview.SelectDocument(doc)
End Sub
 
D

Darker

#4
Вообще UI-ный метод .SeletDocument как погода, то селектиться, то нет, а иногда селектиться, но экран уходит далеко вниз и не видно какой документ выделился
 
S

soleil

#6
Как сделать чтобы после создания документа по форме, после закрытия формы этот новый документ выделялся в представлении?
 

hosm

* so what *
18.05.2009
2 442
6
#7
наверно, стоит сперва прорефрешить вьюху - через ws.ViewRefresh или NotesView.Refresh, а потом выделять документ.
 
S

soleil

#8
Да, я обновляю вид. Но дело в том, что SelectDocument работает только с NotesUIView. А т.к. я прописываю код на кнопке сохранения формы, то могу использовать только NotesView. Или может я чего-то недопонимаю?
Т.е. если это текущий вид, то я могу взять его как WS.CurrentView, а если я на форме нахожусь то беру его как DB.GetView("ViewName")
Могу ли я из формы получить UIView?
 

hosm

* so what *
18.05.2009
2 442
6
#9
наверно, я туплю - но как Вы собираетесь выделить документ не в уи-виде? %)
если вид не открыт, откройте его.
Что, текущий вид встроен в форму, что его из формы пытаетесь получить?
Код по выделению документа действительно иногда глючит, обычно заключается в обработчик.
Код:
Set UIView = ws.CurrentView
On Error Resume Next
If Not uiView Is Nothing Then
Call uiView.View.Refresh
UIView.SelectDocument(doc)	
End If
On Error Goto 0
 
S

soleil

#10
Смотрите. У меня открыт вид. Я создаю новый документ по форме. Открывается форма. Потом нажимается кнопка Сохранить и Закрыть. Форма закрывается. В рабочей области находится вид. Теперь новый документ должен выделиться в этом виде.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#11
если док создавался при открытой вьюшке, доступен view.Title (опред. время ^_^ )
по нему тоже можно получить инстанс вьюшки (при старте формы, например)
код выше выделяет док
если вьюшка по каким-либо причинам не обновилась (и док не отобразился) - будет облом, но тогда надо "заставить" вьюшку обновиться, до селекта
код можно поместить в разные эвенты формы (QueryClose, например, помня об отмене создания дока)
 
S

soleil

#12
Прошу прощения за глупый вопрос. Что такое инстанс вида?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#13
экземпляр объекта
и в посте выше - д.б. @ViewTitle (в CFD поле, КомпьютедФорДисплей)
типа Set view=db.GetView(VIEWTILTLE_FIELD)
 
Статус
Закрыто для дальнейших ответов.