|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
в продолжении предыдщего моего вопроса исходные данные теже PB 9.0.1 (7066), DB ASA 8.0.2 Есть таблица, в этой таблице присутсвует поле t типа time создал DW для отображения и редактирования это таблице. На это поле установил EditMask hh:mm насобытие itemChanged повесил действие This.AcceptText() ls_input_time = Mid(data, 4, 2) If ls_input_time <> '30' and ls_input_time <> '00' Then <функция обработки времени> This.SetItem(row, dwo.name, ldt_time) End If допустим я ввожу 12:12 программа определяет что минуты -12 переводит в 12:00 и устанавливает поле в 12:00 если в этомже событии написать This.GetItemTime (row, dwo.name) то выдаст 12:00 Но на экране всеравно отображается 12:12 В чем проблема? AcceptText() и SetRedraw(True) делал - не помогало В итоге в конце собития пока что написал Return 2 теперь на экране 12:00, но понимаю что этот return не очень хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2004, 16:55 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
Насколько я помню, ещё в PB6.0 на событии Itemchanged функции серии GetItem... возвращают значение до изменения. Реальное же хранится в аргументе Data. Что касается SetItem(...) в этом же событии, то его вообще не рекоментуют выполнять. AcceptText() тоже. AcceptText in the ItemChanged event. Calling AcceptText in the ItemChanged event has no effect. Events AcceptText may trigger an ItemChanged or an ItemError event. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2004, 17:11 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
авторЧто касается SetItem(...) в этом же событии, то его вообще не рекоментуют выполнять Это где ж вы такое услыхали? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2004, 18:57 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
Филипп. Были случаи вылета приложения при вызове SetItem(row, 'Nm', value) в событии ItemChanged при обработке dwo.name = 'Nm' ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2004, 19:41 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
Так значит это вы рекомендуете :-) Могу сказать, что рекомендация ваша в общем случае безосновательна... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2004, 20:00 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
Может и безосновательны. Просто я сталкивался с такими ситуациями и приходилось избегать их. Филипп, объясните почему это может происходить? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2004, 10:56 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
itemChanged cуществует между изменением ячейки и обновлением. В data лежит обновление, в итеме - старое значение. После выполнения всех скриптов data падает в итем (или возвращается предыдущее значение если требуется). Если в событии itemChanged сделать SetItem..., дабы в обработчике видеть уже новое значение через GetItem... не передавая значение. Таким образом значение, установленное с помощью SetItem... будет жить только до окончания скрипта. Если охота реально изменить значение надо воспользоваться POST. Но это всегда черевато... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2004, 15:24 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
авторЕсли в событии itemChanged сделать SetItem..., дабы в обработчике видеть уже новое значение через GetItem... не передавая значение. Таким образом значение, установленное с помощью SetItem... будет жить только до окончания скрипта... Строго говоря, и это некорректно. Если хошь, чтоб оно там жило, нужно просто 1 вернуть из temChanged, а если хошь, чтоб оно ещё и видно при этом правильно было, нужно ещё и SetText сделать (ну и понятно, что придётся Itemerror подавить)... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2004, 20:32 |
|
непонятная ситуация ItemChanged у DW!!!
|
|||
---|---|---|---|
#18+
спасибо Филипп, разяснил ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2004, 09:49 |
|
|
start [/forum/topic.php?fid=15&msg=32391527&tid=1339317]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 296ms |
0 / 0 |