|
|
|
True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! В базе данных есть таблица с наименованиями параметров. Грид прицеплен к этой таблице, и у него есть еще один unbound-столбец для ручного ввода. Необходимо внести в базу данных значения этого столбца. Исходный код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Проблема в том, что визуально все в порядке (т.е. введенные значения в ячейках остаются), но когда начинаешь в цикле перемещаться по гриду, для того, чтобы заполненные ячейки внести в БД, то каждый раз получаешь только последнее введенное значение. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Никак не могу понять, в чем проблема, такое ощущение, что перемещения по гриду не происходит. Помогите, кто может... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 16:33:29 |
|
||
|
True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?
|
|||
|---|---|---|---|
|
#18+
Порядок работы с UnboundColumn следующий: 1. содзаем ДВА рекордсета: источник данных для грида (rs) и его клон (rsx) 2. Создаем или использем готовый массив для хранения подставляемых данных 3. UnboundColumnFetch обрабатываем так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 18:33:00 |
|
||
|
True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?
|
|||
|---|---|---|---|
|
#18+
поправка: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 18:58:24 |
|
||
|
True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?
|
|||
|---|---|---|---|
|
#18+
Значения столбца "Значения" должны сохраняться в другую таблицу. TDBGrid1 к ней не привязан, он привязан к справочной таблице с наименованиями параметров. С клонированием рекордсета кажется понятно: оно нужно только для определения текущей строки и вытаскивания ее идентификатора. Спасибо, буду еще пробовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 20:27:12 |
|
||
|
True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?
|
|||
|---|---|---|---|
|
#18+
При редактировании ячейки события выполняются в следующем порядке: BeforeUpdate UnboundColumnFetch AfterUpdate Почти все получилось, но есть один глюк: при редактировании последней строки события выполняются так: BeforeUpdate UnboundColumnFetch AfterUpdate UnboundColumnFetch т.е. UnboundColumnFetch выполняется лишний раз, и это все портит. Может, мне последнюю строку как-то особо обрабатывать? И еще - после редактирования ячейки событие UnboundColumnFetch выполняется для всего столбца, начиная с текущей ячейки, т.е. если ниже еще несколько строк, то столько же раз оно выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 12:43:52 |
|
||
|
True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?
|
|||
|---|---|---|---|
|
#18+
1. Надо использовать другое событие: AfterColEdit А такие события как AfterUpdate и BeforeUpdate относятся к строке, а не к ячейке. И привязаны к смене текущей строки или к принудительному обновлению (TDBGrid1.Update). 2. UnboundColumnFetch срабатывает асинхронно и порциями по 10 штук. Поэтому его можно использовать исключительно для представления данных. Или автоматического исправления (без пользовательского ввода) подставляемых данных (если вы достаточно сильны в программировании этого контрола). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 16:29:31 |
|
||
|
True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?
|
|||
|---|---|---|---|
|
#18+
Ура!!! Заработало!!! Как только я понял, что событие UnboundColumnFetch нужно использовать только для вывода на экран, а BeforeUpdate - для запоминания значений, причем сразу в массиве, все сразу получилось. Сразу удалил тонну ненужного кода, все оказалось намного проще... Спасибо, Worobjoff Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 10:42:37 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32966988&tid=2168077]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 279ms |
| total: | 402ms |

| 0 / 0 |
