从 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 这样做...
我可能遇到了一个非常简单的问题,但卡住了 我里面有一个表格,我有一个字段,为此我想从嵌入式视图中获取价值,有人知道如何实现它吗。
据我所知,在经典 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 这样做...