2016-04-18 2 views
0

У меня есть одна форма с двумя полями «Поле 1» и «Поле 2» и одна кнопка действий, называемая «проверка». При щелчке этой кнопки действия я хочу открыть диалоговое окно с тремя полями, которые должны получить автоматическое заполнение на основе значения поля 2. Как его достичь?Возможно ли передать аргументы в диалоговом окне лотосных примечаний

Цените, если кто-нибудь мне поможет.

ответ

4

Да, это возможно. Для NotesUIWorkspace.DialogBox() есть параметр document. Используйте этот документ для передачи параметров в ваш диалог.


UPDATE

Предположим, у вас есть форма с именем "MyDialogForm", чтобы представить ваш диалог.

Похоже, что и содержит 3 поля:

MyDialogForm

И у вас есть форма с двумя полями и "Проверка" кнопка:

TestForm

Поместите следующий код обработчик события «Click» вашей кнопки «Проверка»:

Sub Click(Source As Button) 
    Const DIALOG_FORM_NAME = "MyDialogForm" 

    Dim ws As New NotesUIWorkspace 
    Dim dialogBoxAccepted As Boolean 
    Dim dialogParamDoc As NotesDocument 

    Dim currentDocument As NotesDocument  
    Dim field2Value As String 

    Set currentDocument = ws.CurrentDocument.Document 
    field2Value = currentDocument.GetItemValue("Field2")(0) 

    'document created in-memory, but should not be saved 
    Set dialogParamDoc = New NotesDocument(currentDocument.ParentDatabase) 

    'populating dialog box fields 
    Call dialogParamDoc.ReplaceItemValue("DialogField1", "dialogField1 with: " + field2Value) 
    Call dialogParamDoc.ReplaceItemValue("DialogField2", "dialogField2 with: " + field2Value) 
    Call dialogParamDoc.ReplaceItemValue("DialogField3", "dialogField3 with: " + field2Value) 

    dialogBoxAccepted = ws.DialogBox(DIALOG_FORM_NAME,True , True, False, False , False , False, "My Dialog Title", dialogParamDoc, True) 
    If dialogBoxAccepted Then 
     'displaying values, entered/changed in dialog box 
     Msgbox dialogParamDoc.getItemValue("DialogField1")(0),,"DialogField1" 
     Msgbox dialogParamDoc.getItemValue("DialogField2")(0),,"DialogField2" 
     Msgbox dialogParamDoc.getItemValue("DialogField3")(0),,"DialogField3" 
    End If 
End Sub 

Этот код читает «Поле2» и заполняет диалоговые поля на основе его значения. Затем он показывает диалог, в котором вы можете изменить эти значения.

demo dialog

Если вы нажали OK в диалоговом (диалог принят), код будет показывать значения, которые изменены в диалоговом окне.

+0

Можете ли вы сказать это тщательно PLS? потому что им новый для этой технологии – Sathish

+0

момент, пожалуйста, я опубликую обновление позже. –

+0

@Sathish проверить мое обновление, пожалуйста. Я думаю, что он отвечает на ваш вопрос. –

Смежные вопросы