|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Есть Grid. Определен на курсоре. В последнем столбце CurrentControl=Check. При клике на check (снимаю галочку) из valid вызываю метод и получаю такую картину: Код: vbnet 1.
возвращает: _5FG0OYIVO.nado _5FG0OYIVO .F. ;0000563 а Код: vbnet 1.
в строке с кодом 000563 показывает, что nado=.T. и соответственно дальнейший расчет select, calc идет исходя из nado= .T. Данные в курсоре обновляются только после смены строки. (может и столбца - не проверял). Flush не помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:00 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
glamis, 1. Зачем тут макроподстановка? 2. Вы не знаете про This.Value? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:09 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Зачем тут макроподстановка? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:11 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Sergey Sizov, или ещё короче: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:14 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Sergey Sizov, это метод formseta ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:18 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
glamis, что ЭТО? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:19 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Sergey Sizov, Команды кода - это вырезки из метода Formset. Поэтому This здесь неприменим. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:27 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Sergey Sizov, И вообще указанные строки кода - это отладка и она показывает, что разные команды видят разное значение поля. Вопрос не в том макро здесь или не макро. Вопрос в том - как сделать, чтобы значение поля в курсоре было правильным. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:31 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Не использую valid(), но если не путаю, то запись в таблицу(курсор) происходит после того как valid() вернет .T. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:41 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Dima T, а что после него работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:42 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Попробуй в InteractiveChange() Не поможет - включи Event Tracking в отладчике и посмотри какие еще методы вызываются. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:47 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
glamisDima T, а что после него работает?LostFocus() Макро все равно тут совершенно не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:50 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Sergey SizovLostFocus() Он мышем в чекбокс кликает ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:53 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Dima T, Interactive-еще хуже ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 12:54 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Dima TSergey SizovLostFocus() Он мышем в чекбокс кликаетОн вооще непонятно что делает. При клике на check (снимаю галочку) из valid вызываю метод но это метод formseta Короче, значение из свойства value элемента ввода в поле попадает после потери элементом ввода фокуса. Приведенный кусок кода, судя по полученным результатам, работает еще ДО потери фокуса, то есть скорее всего таки в valid элемента ввода, а не в формсете. Так что разберитесь таки, для начала, кто на ком у вас там стоит. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 13:04 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Повторил ситуацию. В valid чекбокса прописал Код: sql 1.
По клику на чексбокс без галки выводит "valid true", т.е. внутри valid() в таблице уже запись сделана. Но при включенной буферизации запись только в буфере и select с этой же таблицы буфер игнорирует, поэтому надо ее принудительно сбросить буфер в таблицу Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 13:27 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Dima T, cursorgetprop("Buffering") возвращает 1 (off) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 14:30 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
glamisDima T, cursorgetprop("Buffering") возвращает 1 (off) Как ни странно, но TableUpdate() все равно помогает. Тест прилагаю, кликай в чекбокс, вывод в wait ... Убери TableUpdate() из Check1.Validate() и сравни. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 15:14 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Dima T, Добавил TableUpdate - как ни странно, но просит сначала установить буферизацию:) Дооформил отладку, свел все в одну справку: Grid.column4.Controlsource=_5FG0X4HC9.nado Grid.RecordSource=_5FG0X4HC9 nado=.F.; kod=0000563 && прямой доступ к полям CURSORGETPROP("Buffering")=1 (SELECT nado FROM (_yy) WHERE kod = _s2) = .T. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 15:30 |
|
Как обновить значение поля в Grid
|
|||
---|---|---|---|
#18+
Надо простой пример с демонстрацией проблемы. У меня работает 21824504 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 15:33 |
|
|
start [/forum/topic.php?fid=41&msg=39781833&tid=1581688]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 170ms |
0 / 0 |