![]() |
|
![]() ![]() ![]() |
|
napTu3aH |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 2.10.2003 Репутация: нет Всего: 1 |
При запросе нужно чтобы вместе с полями существующими в БД возвралось еще одно поле, значения которого могли бы редактироваться в BDGrid, но не хранились в БД.
Реально такое сделать ? Т.е. запрос (MSSQL) имеет вид : 'Select field1, field2, 0 As field3 from table' После этого выставляю в DBGrid'е у field3 свойство Readonly в false. Значение изменяется, но при потери фокуса ячейкой в ней восстанавливается 0 (значение которое вернул запрос для этого поля ), а хотелось бы, чтобы оно сохранялось. Прочитал, что DBGrid не хранит данные, а только отображает. P.S. Что за дурацкая привычка сначала постить, а потом читать ? ![]() Это сообщение отредактировал(а) napTu3aH - 8.12.2004, 18:25 |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
НД, возвращаемый TQuery нельзя редактировать, за исключение некоторых случаев.
Вариантов решения много. Навскидку - можно копировать НД в память (MemTable из RxLib). Если непонятно, могу объяснить более обстоятельно. -------------------- |
|||
|
||||
Dimich |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 25.8.2004 Где: Брянск Репутация: 3 Всего: 7 |
Как вариант решения могу предложить следующий алгоритм (конечно не совсем удочный):
1. Данные, выбранные запросом поместить в массив (динамический) 2. Отображать данные DBGrid'om из массива 3. При изменении ячейки записывать ее если надо в БД и массив Алгоритм я не проверял, но должен работать --------------------
Не работает - исправь, работает - не трогай!!! |
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
napTu3aH, Хотелось бы узнать длящего вообще вы это хотите делать потому как есть подозрение, что вашу задачу можно решить иначе.
Но если уж действительно нужно делать именно так, то можно воспользоваться ADODataSet и поиграться с его событием BeforeEdit. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |