Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите пожалуста как можно реализовать: [D7, dBase, FoxPro]


ceval ©   (2004-12-14 23:48:00) 

Подскажите пожалуста как можно реализовать:
из одной таблицы выбрать строку и поместить в другой DBGrid
т.е что-то подобное:
форма на ней пустой DBGrid и кнопка "Добавить"
(есть какая-то таблица 1 с полями KO,Naim,Kol) и принажатии
кнопки появляется Edit(поле для ввода) вводим значения поля KO и
в DBGrid'е появляется полностью строка соответствующая значению
поля KO
Большое спасибо


ЮЮ   (2004-12-16 04:33:00) [1]

>Zacho ©   (15.12.04 22:41) [5]
>Немного дополню: если у тебя случай 1 ...

Уточняю. Я просто полагал, что эта манипуляция выполняется посточнно, т.е. в ходе работы прользлватель "наполняет" DBGrid (а иначе зачем грид для одной записи?). Если же автор говорит о поиске одной строки, то, однозначно,  типа [3], т.е. DataSet для грида - это запрос к таблице


Zacho   (2004-12-15 22:41:00) [2]

ceval ©   (15.12.04 17:52) [4]

Это вопрос или как :) ?

Нужно копировать в другую таблицу или нет - это только тебе известно. Всё зависит от того, что с этими данными ты собираешься делать. Но еще один датасет (TTable, TQuery или чем ты там пользуешься) в любом случае понадобится.
Собственно, ответ тебе уже дал ЮЮ ©   (15.12.04 4:48) [2].
Немного дополню: если у тебя случай 1 и редактировать эти записи не нужно (а нужно только показывать) - то и CachedUpdates не надо. Просто в датасете, подключенном к второму гриду или устанавливашь Filter:='KO='+Edit.Text;  или делаешь запрос типа как в _Nikolay ©   (15.12.04 10:04) [3]


ceval   (2004-12-15 17:52:00) [3]

<Для начала небольшая подсказка: в DBGrid данных нет ! Они находятся в подключенном к нему датасете.>

т е из  таблицы 1 данные нужно скопировать в другую созданную
таблицу и тогда (наверника вдруг запляшут облака...) выбранныя данныя отобразятся в моем DBgride


_Nikolay   (2004-12-15 10:04:00) [4]

Можно взять Query-компоненту у нее Query.SQL := 'select .. where (KO = {значение})' ;
Варьируя запрос получать необходимый DataSet и DataSource для новой таблицы


ЮЮ   (2004-12-15 04:48:00) [5]

Эти манипуляции нужны толбко на сеанс работы или при следующем запуске "добавленные строки" должны оставаться в Гриде?

В первом случае, достаточно использовать кэшированный запрос для которого не делать ApplyUpdates.
Во втором случае, очевидно, требуется ещё одно поле в таблице, по которому можно судить, показывать эту строку в гриде или нет.
Если же БД многопользовательская, а выбор определяется каждым клиентом самостоятельно, то вместо поля следует создать локальную для каждого поля таблицы, куда заносить ключевые (или иные, определяющие выбранные записи, поля), а в гриде показывать результаты гетерогенного запроса к сетевой и локальной БД


Zacho   (2004-12-15 00:20:00) [6]

Для начала небольшая подсказка: в DBGrid данных нет ! Они находятся в подключенном к нему датасете.


Наверх

Титульная страница Поиск, карта сайта Написать письмо