从 Lotus Notes 中的嵌入式视图获取值

Getting a value from Embedded View in Lotus Notes

我可能遇到了一个非常简单的问题,但卡住了 我里面有一个表格,我有一个字段,为此我想从嵌入式视图中获取价值,有人知道如何实现它吗。

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

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

从 "surrounding" 文档的嵌入式视图中获取值是不可能的。但绝对是相反的方向。

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

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- Client 崩溃,所以不要#t 这样做...