Обновление формы

Тема в разделе "Lotus - Программирование", создана пользователем Idea, 4 июн 2008.

  1. Idea

    Idea Гость

    Доброго времени суток. Возник небольшой вопрос. Есть код кнопки сохранения формы:
    Код (Text):
    Sub Click(Source As Button)
    On Error Goto errorHandle
    Dim workspace As New NotesUIWorkspace
    Dim doc As NotesDocument
    Dim uidoc As NotesUIDocument

    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document

    Call uidoc.Save
    Call workspace.ViewRefresh

    'Turn on allowEdit so Querymodechange will let it pass

    'Turn on EditMode

    allowEdit = True

    uidoc.EditMode = True

    uidoc.Document.HistText = ""
    uidoc.Document.HistFlag = ""
    Call uidoc.Document.ComputeWithForm(False, False)
    Call workspace.ViewRefresh

    theEnd:
    Exit Sub   
    errorHandle:
    Exit Sub
    End Sub
    Проблема в том, что после её нажатия форма должна обновиться (на панели действий одни кнопки появляются, другие исчезают в соответствии с условиями скрытия), но она обновляется только после клика на саму форму. Есть ли способ "перерисовать" форму сразу?
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    uidoc.Refresh

    Код неверен.
    Сначала идет сохранение Call uidoc.Save
    Потом включается режим редактирования uidoc.EditMode = True.
    Первое без второго работать не будет. Или ошибка или что-то лишнее.
    ComputeWithForm не нужен. Как и workspace.ViewRefresh.
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Код (Text):
    Call uidoc.RefreshHideFormulas
    CоmputeWithForm - злостный метод, лучше не юзать.
    Код очень неоптимален.
     
  4. Idea

    Idea Гость

    Спасибо за ответы. С проблемой разобралась.

    з.ы. На счет режима редактирования - это не ошибка. Так надо.
     
Загрузка...

Поделиться этой страницей