|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Имеется datawindow типа Grid, чтоб узнать значение конкретной ячейки нужно сделать что-то типа этого dw_1.object.kolonka[stroka] Но если значение не зафиксировано, т.е. ввели значение в ячейку, перешли на следующую, предыдущая естественно зафиксировалась и сохранилась, в эту ввели значение и оставили курсор на ней, т.е. она не зафиксировалась. Теперь если делать выборку из этого grid'a то со второй ячейки будет взято старое значение, а не то которое там показывается в данный момент. Как получить при выборке значение этой ячейки на которой стоит курсор, т.е. сам отображающийся текст этой ячейки. Объяснил как мог, возможно такое? А то я туплю сижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2009, 10:08 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
dw_1.AcceptText() dw_1.object.kolonka[stroka] AcceptText() в событии LoseFocus() датавинды очень не плох ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2009, 10:23 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Точно, всё работает. А я не думал в том направлении чтоб зафиксировать все изменения перед выборкой). Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2009, 10:29 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Строго IMHO > AcceptText() в событии LoseFocus() датавинды очень не плох Очень плох, поскольку если есть проверка на ошибку, которая приведет к выдачи окна сообщения, которое приведет к потере фокуса, что приведет к ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2009, 10:34 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Владимииирdw_1.AcceptText() dw_1.object.kolonka[stroka] AcceptText() в событии LoseFocus() датавинды очень не плох Точно - ТОТ Владимир :-))) Stack Fault обеспечен ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2009, 18:30 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
авторТочно - ТОТ Владимир :-))) Stack Fault обеспечен Не обеспечен. Ну а ваше мнение по этому воросу. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 10:24 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Qwed86авторТочно - ТОТ Владимир :-))) Stack Fault обеспечен Не обеспечен. До первого "Item 'xxxxx' does not pass validation test" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:15 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Почему есть привычка обсуждать некачественные решения и ничего не предлагать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 18:00 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Qwed86, Потому что AcceptText() в событии LoseFocus() датавинды делать просто НЕЛЬЗЯ и ВСЁ !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 18:26 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Qwed86Почему есть привычка обсуждать некачественные решения и ничего не предлагать? Создайте событие ue_apply() которое вызывайте из кнопки сохранения (или что там нужно делать после ввода). В этом событии вызовите ф-ю of_validate() которая выполнит dw.AcceptText() (а в будущем и остальные проверки введенных данных) и вернет false (-1) если проверка не пройдена либо вернет true (1) если проверка пройдена успешно. Далее ue_apply() в случае успеха выполняет действия над введенными данными, например dw.update() Если действие должно происходить сразу при вводе данных в определенные поля, а не при нажатии на кнопку, то событие ue_apply() вызывайте из dw.event itemchanged() через модификатор POST ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 21:43 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky Вот спасибо, всё по полочкам. Филипп Ну это было понятно из твоего первого поста. Очень позновательные ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 22:44 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Если вопрос азбучный, и объявляются "помошники" с ЗАВЕДОМО неверными ответами, то мне лень тратить время на большее, чем пресекание... А в остальном, каков вопрос - таков ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2009, 00:59 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
2 Qwed86 А еще есть такой метод GetText ( ) ... Думаю, стоит попробовать ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2009, 11:52 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
PaulJB 2 Qwed86 А еще есть такой метод GetText ( ) ... Думаю, стоит попробовать ... Да-да, SetRow(), SetColumn(), GetText(), распарсить строку в значение... Это все равно что писать на ассемблере, когда есть С++. Давайте обойдемся без вредных советов (их тут есть кому давать). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2009, 15:14 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyДа-да, SetRow(), SetColumn(), GetText(), распарсить строку в значение... Это все равно что писать на ассемблере, когда есть С++. Давайте обойдемся без вредных советов (их тут есть кому давать). Конечно, метод не для слабонервных ... :), но (если я правильно понял первоначальный вопрос) - человеку надо прочитать "не зафиксированное" значение, т.е. до вызова метода AcceptText(). А это, на сколько я знаю можно сделать в событиях itemchanged, itemerror или из другого места программы с помощью GetText(). Я не знаю профессионального уровня человека задавшего вопрос и поэтому советую то, что сам делал и те методы, которыми пользовался и пользуюсь. Сам я всегда стараюсь читать и анализировать такие значения только в событиях itemchanged, itemerror, но иногда, редко приходилось прибегать к услугам GetText(). И еще ... : На сколько я знаю, параметр data событий itemchanged и itemerror тоже строковый и от преобразования, парсинга и т.д. при анализе никуда не денешься ... Поправьте меня если я не прав ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2009, 17:38 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
PaulJBчеловеку надо прочитать "не зафиксированное" значение, т.е. до вызова метода AcceptText(). Нет, введенное значение уже планируется использовать. А это уже другая история - считывание значения должно быть унифицированным для всех полей и DW предоставляет этот интерфейс (и даже не один). А GetText() надо использовать во время ввода (валидация и прочий сервис). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2009, 18:41 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Владимииир AcceptText() в событии LoseFocus() датавинды очень не плох Если в поле датывинды введено значение, то AcceptText() прежде чем выполниться вызывает ItemChanged А в ItemChanged можно включить: // изменение значений некоторых полей, в зависимости от введённого значения Post wf_dwChange(GetColumnName(), Row) // сохранение в базе данных нового значения (dw.Update()), что позволяет не заботится о сохранении его при нажатии, например, на крестик Post wf_dwUpdate(This) Проверку на ошибки, которая приведет к вызову окна сообщения, конечно, делать не надо. Чтобы не вводились ошибочные данные надо использовать маску ввода. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 11:20 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Владимииир ... то AcceptText() прежде чем выполниться вызывает ItemChanged .... Владимииир, вообще-то здесь "за базар" отвечают. Наверное, в первую очередь, гуру поэтому на Вас так и сердиты. Вы не правы - сама команда AcceptText() НЕ ВЫЗЫВАЕТ ItemChanged. Убедитесь сами : - Измените значение поля в DW. - Укажите команду AcceptText(). - Проверьте - было - ли вызвано событие ItemChanged. Только, чтобы не путать, - выводите в лог "каждый шаг ". Ну и, кроме того, если посмотреть в Help AcceptText method (DataWindows) : "... Calling AcceptText in the ItemChanged event has no effect." Good Luck ! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 12:28 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
ChV - Измените значение поля в DW. - Укажите команду AcceptText(). Не понял. Где указать AcceptText()? Он имеется в событии LoseFocus. Дискуссия - о хорошести AcceptText() в LoseFocus. Прежде, чем написать прошёлся в отладчике и у меня получилось то, что написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 13:59 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Владимииир...Дискуссия - о хорошести AcceptText() в LoseFocus... Я в дискуссию не хочу влезать, т.к. об этом ранее уже очень не плохо уже высказались. Я обратил Ваше внимание только на фразу, Владимииир...AcceptText() .... вызывает ItemChanged..." И еще ... Владимииир...Прежде, чем написать прошёлся в отладчике и у меня получилось то, что написал. Вообще-то отладчик вещь хорошая, но только не там, где надо разобраться - как какие и в какой последовательности одни события вызывают другие. Тем более, если идет речь о LoseFocus. Good Luck ! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 15:37 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
ChVВы не правы - сама команда AcceptText() НЕ ВЫЗЫВАЕТ ItemChanged. Убедитесь сами : - Измените значение поля в DW. - Укажите команду AcceptText(). - Проверьте - было - ли вызвано событие ItemChanged. Это не так. Если есть поле с незафиксированным текстом, то вызов AcceptText() приведет к вызову события ItemChanged как заключительного этапа валидации (при условии конечно, что предыдущие проверки пройдены - маска, правила). И только после этого AcceptText() вернет 1/-1 в зависимости от того, что вернуло событие ItemChanged. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 17:56 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyЕсли есть поле с незафиксированным текстом, то вызов AcceptText() приведет к вызову события ItemChanged... Отлично ! Век живи - век учись. Хотелось бы убедиться. Только никак не соображу "поле с незафиксированным текстом" - о чем идёт речь ? Good Luck ! М. ЖванецкийНепонятно, секс - это что-то новое или мы им уже давно занимаемся ? Или это когда днем ночуют ? ... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 18:14 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
ChVТолько никак не соображу "поле с незафиксированным текстом" - о чем идёт речь ? Текст, введенный в поле, но еще не синхронизированный с буфером DW. (Это то, о чем вся эта тема) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 20:11 |
|
Значение ячейки в Grid
|
|||
---|---|---|---|
#18+
Qwed86 ... dw_1.object.kolonka[stroka] Но если значение не зафиксировано, т.е. ввели значение в ... Да, ... " был не прав, вспылил ". Действительно, в этом случае AcceptText() приведет к вызову события ItemChanged. Anatoly Moskovsky - спасибо ! На этот нюанс раньше внимание не обращал. Good Luck ! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2009, 10:14 |
|
|
start [/forum/topic.php?fid=15&fpage=33&tid=1336242]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 437ms |
0 / 0 |