Обновление поля

  • Автор темы NataliGinger
  • Дата начала
N

NataliGinger

Доброго времени суток.

У меня есть поле RadioButton, при изменении значений которого, должно заполняться Text Editable поле.

Если использовать Onchange, то значение Text меняется не сразу, а только после потери фокуса.

uidoc.refresh не помогает.

Может ли значение Тext поля меняться сразу после изменения RadioButton?
 
O

Omh

RadioButton: Run Exiting/On change events... (на третьей закладке внизу) + Refresh fields on keyword change
в купе с
событием PostRecalc у формы.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
В свойствах поля поставить галку "Run exiting/onchange events after value change"
 
N

NataliGinger

Еще вопрос.
А как быть если нужно менять значение поля по изменению в поле Dialog list без использования Postrecalc?
 
G

Guest

Сделай поле типа Computed и формульно вычисляй значение, только не забудь проставить refresh fields on keyword refresh
 
S

soleil

А как сделать так, чтобы при изменении поля типа Date/Time сразу пересчитывалось другое Computed поле.
Если на Onchange ставить, то оно пересчитывается при потере фокуса. К сожалению, все вышеперечисленные советы не подходят для полей типа Date/Time.
 
A

alik86

а как Вам такие варианты:
1. можно приучить пользователя к тому, чтобы таки выводил фокус оттуда - сложно реализуем :)
2. можно использовать не editable поле, а компутед и рядом с ним нарисовать кнопочку, на которую и повесить изменение поля и пересчет другого... - ИМХО проще первого варианта
...как-то так
 
S

soleil

Но в стандартном календаре лотуса как-то сама изменяется длительность встречи (тип Текст, Computed) при изменении даты (тип Дата/время, Editable). я разбиралась как они это сделали, но так и не поняла.
 
N

nvyush

soleil
Первая закладка свойств поля Style = Calendar/Time control, третья закладка свойств поля - вкл. галку внизу (Run exiting/OnChange...)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Ставишь галочку "Run Exiting/OnChange events..."
В самом событии OnChange делаешь refresh или меняешь значение поля вручную.
 
S

soleil

выше же Вы писали про эту галочку, я ее не нашла сначала по невнимательности)спасибо.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
делаешь на этом радиобатоне галочку Refresh fields on keyword change
теперь до этого поля размещаешь еще одно компутедное поле, которое содержит в себе старое значение
и при рефреше это сравнивает старое значение с новым и в случае изменения делает определенные, нужные тебе действия, заполняет нужные поля и т.д.
это поможет тебе избавиться от событии OnChange и прочего мусора :rolleyes:
 
S

soleil

ToxaRat, спасибо за еще один совет. а чем опасен onchange?
 
S

soleil

А вот подскажите, пожалуйста, еще момент.
На форме есть Action он изменяет значение Поля_1 (тип Text, Editable). Есть еще одно Поле_2 (тип Text, Computed for display), значение которого вычисляется на основании Поля_2.

Как мне при нажатии Action сделать так, чтобы пересчитывалось Поле_2. Или достаточно просто обновить (кстати, как на собаках сделать Workspace.CurrentDocument.Refresh)?
 
N

nvyush

Как мне при нажатии Action сделать так, чтобы пересчитывалось Поле_2. Или достаточно просто обновить (кстати, как на собаках сделать Workspace.CurrentDocument.Refresh)?
1) достаточно просто обновить
2) @Command( [ViewRefreshFields] ) :rolleyes:
 
S

soleil

nvy, спасибо.Почему то думала, что ViewRefreshFields это для вида.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!