从Lotus Notes中的Embedded View获取值

时间:2015-10-30 09:22:42

标签: lotus-notes

我可能有一个非常简单的问题,但却陷入了困境 我有一个表单,我有一个字段,为此我想从嵌入式视图中获取价值,任何人都知道如何实现它。

2 个答案:

答案 0 :(得分:1)

无法从“周围”文档中获取嵌入视图中的值。但相反的方向肯定是。

在嵌入式视图中的所有事件/操作的代码中,您可以使用以下代码获取周围的文档:

Dim ws as New NotesUIWorkspace
Dim uidoc as NotesUIDocument

然后,您可以在视图中基于当前所选文档设置字段,例如在Onselect事件中(自版本8以来的新版本),您可以放置​​一些这样的代码(部分取自事件Onselect的Desiger帮助):

Dim ws as New NotesUIWorkspace
Dim uidoc as NotesUIDocument
Dim lastCaretID As Variant
lastCaretID = "000"
Set uidoc = ws.CurrentDocument

Sub Onselect(Source As Notesuiview)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Set db = session.CurrentDatabase 
    caretNoteID$ = Source.CaretNoteID
    If lastCaretID <> caretNoteID$ Then   ' we only process if the highlighted row has changed
        lastCaretID = caretNoteID$
        noteID$ = "NT00000" + caretNoteID$
        Set doc = db.GetDocumentByID( caretNoteID$ )
        Call uidoc.Document.ReplaceItemValue( "SelectedSubject", doc.GetitemValue( "Subject") )
    End If
End Sub

注意:从嵌入式视图上下文的代码中调用uidoc.Refresh / uidoc.Reload肯定会使Notes-客户端崩溃,所以不要这样做......

答案 1 :(得分:0)

据我所知,在经典Notes中没有简单的方法可以做到这一点。您可能需要重新考虑您的设计/方法。我会使用一个选项列表对话框。

我相信你可以在XPages中做到这一点,或者如果这是一个Web应用程序,那么用Javascript / jQuery做起来并不困难。