|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Сабж происходит, когда я изменяю данные в ячейке и теряю фокус. А как мне отловить просто потерю фокуса с контрола в DWObject, даже если данные не были изменены? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 16:29 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Событие ItemFocusChanged разве не подходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 16:34 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Оно вызывается если поле получает фокус а не отдает его. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 17:56 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Как я понял - надо что то типа RowFocusChanging но для колонок. Задавал я когда то подобный вопрос, но к сож. никто толком ничего не присоветовал. Я делаю так: - создал instance переменную - в событии ItemFocusChanged записываю в нее текущий DWO, а перед этим можно анализировать ее содержимое. Она содержит предыдущую колонку, или isValid(DWO) = false на старте. Конечно, этой колонкой фокус будет уже потерян, но мне этот вариант подошел. З.Ы. Мне тут Филипп присоветовал по всем вопросам предварительно перечитывать PFC (матчасть), признаюсь - не смотрел :)) Мож. там это уже решено ... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 18:23 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
авторОно вызывается если поле получает фокус а не отдает его. какая разница? Код: plaintext 1. 2.
если надо дополнительно отлавливать как пользователь уходит в другой объект, то у DW надо еще замапить pbm_dwnkillfocus ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 18:24 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
if dwo.name<> "CheckedField" then // обработка потери фокуса полем CheckedField end if Читаем код: Если любой элемент DWO получает фокус выполнять обработку CheckedField. Думаем и решаем что большая разница со следующим: При потере фокуса CheckedField выполнять обработку. Придется делать так как посоветовал PaulJB. Как то странно такое НУЖНОЕ событие и делать через кувырок. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 18:35 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Sorry :-( Кстати, rowfocuschanging тоже не так давно появилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 18:50 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Сотников, а чем оно такое нужное ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2004, 19:26 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
To Филипп: Очень нужное. В зависимости от введенных данных в к-л поле DWO расчитать значения других полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 10:04 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Сотников Очень нужное. В зависимости от введенных данных в к-л поле DWO расчитать значения других полей. Ну тогда используй - itemchanged ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 10:19 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Гм топики что-ли сначала не читают? Сабж происходит, когда я изменяю данные в ячейке и теряю фокус. А как мне отловить просто потерю фокуса с контрола в DWObject, даже если данные не были изменены? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 10:23 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
А зачем тебе пересчитывать данные, если данные на основании которых они расчитывабтся не меняются???? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 10:27 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
2 Сотников Re: Событие itemchanged в DWObject Такая постановка вопроса не совсем корректна, так как DWObject, как таковой, не имеет ни событий ни функций... События и функции может иметь только DW control, который и определяет для какого именно DWObject'а применить событие... Так что вам правильно указали на использование события ItemFocusChanged и кода в нем: if dwo.name <> "CheckedField" then // обработка потери фокуса полем CheckedField end if Даже если вы подключите pbm_dwnkillfocus, то вы подключите его опять к DW control и вам все равно придется определять в этом событии имя DWO, получится что-то вроде: if dwo.name = "CheckedField" then // обработка потери фокуса полем CheckedField end if Вам выбирать чем пользоваться... === Гришин Дмитрий ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 10:31 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Упс... Извини, невнимательно прочитал.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 10:38 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
авторСабж происходит, когда я изменяю данные в ячейке и теряю фокус. А как мне отловить просто потерю фокуса с контрола в DWObject, даже если данные не были изменены? Важно понимать следующее: -Событие ItemChanged происходит, непосредственно перед записью измененных данных в Primary bufer DataWindow. -Событие же ItemFocusChanged происходит при изменении текущего элемента (Колонки) DataWindow. Первоначально ввод и измение данных происходят в т.н edit contol'e в виде строки и только потом, после конвертации в формат колонки и проверки правил валидации данные будут записаны в Primary bufer . Именно на этапе конвертации/валидации может возникать событие ItemError . В случае успеха возникает событие ItemChanged . Если обработку данного события вы завершите с ReturnCode 1, то опять же произойдет возникновение ItemError. Завершение редактирование (сброс данных в буфер DW) будет происходить неявно при попытке перемещения в другое поле DataWindow или же программно через Accepttext(). Всю эту мутотень я написал с одной только целью, что бы четко представляли как данные при ручном вводе/правке попадают во буфер DataWindow, и ещё раз четко и внятно объяснили мне и возможно остальным, что Вам нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 13:04 |
|
Событие itemchanged в DWObject
|
|||
---|---|---|---|
#18+
Black SavageСобытие ItemFocusChanged разве не подходит? Сотников Оно вызывается если поле получает фокус а не отдает его. Ну так при ItemFocusChanged запихни dwo.name в какой нибудь инстанс, и в этот же момент обработай предыдущий. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 14:03 |
|
|
start [/forum/topic.php?fid=15&fpage=108&tid=1339239]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 237ms |
total: | 413ms |
0 / 0 |