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

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

Один DataSet - два курсора [D5, IB6.x, Paradox]


Страницы:   1 2

-=GUEST=- ©   (2003-10-21 17:27:00) 

Давно мучает одна проблема.
Допустим есть грид, подключенный к DataSet"у.
На этой же форме есть DBLookupComboBox, который ведет выборку по аналогичному Dataset"у.
Приходится создавать два одинаковых DataSet(Выполнять один и тот же запрос дважды)
Есть ли возможность сделать один Dataset, а навигация по нему осуществляется разными курсорами - независимо в Гриде и LookupComboBox


-=GUEST=-   (2003-10-21 18:37:00) [21]

Может я что-то не правильно делаю, но происходит следующее.

Лежит Query+DataSource+Grid
и Provider+ClientDataSet+DataSource+Grid

Если делаю ClientDataSet.Active := True
Открывается и то и другое, и курсок одинаковый - при переходе в одном гриде в другом тоже перемещаюсь.

Если сделать Query.Active := True, а потом ClientDataSet.Active := True, то Query самопроизвольно закрывается, но после повторного открытия работает как надо, два разных курсора - но и запрос открывается дважды.

Если есть кто добрый, рабочий пример - шо к чему.


Vlad   (2003-10-21 18:19:00) [22]

MsGuns © (21.10.03 18:10) [10]
вместа кастрированного лукапкомбобокса

:)))
Ну уж эт ты загнул.
Многофункциональные компоненты тоже имеют свои минусы :)


MsGuns   (2003-10-21 18:10:00) [23]

Для парадокса лучший выход в данной ситуации - Vlad © (21.10.03 17:33) [2] - не создаются доп. файлы типа _sqxxxx плюс много чего хорошего у CDS. Если кол-во записей справочника небольшое, то я вообще бы отказался от DBLookUpComboBox, заменив его на модальную форму с гридом, отображающим этот CDS. Плюсов море - начиная с того, что видно все поля таблицы и заканчивая тем, что можно делать любые поиски, фильтры, правки "на лету" и т.д., т.е. имеем богатый ноабор методов полнофункционального датасета вместа кастрированного лукапкомбобокса.


-=GUEST=-   (2003-10-21 18:09:00) [24]

"Лень - это способ отдыхать заранее.", она же двигатель прогресса.
Остался совсем простой вопрос - закачиваюся данные в ClientDataSet по-необходимости или все сразу.


Vlad   (2003-10-21 18:00:00) [25]

-=GUEST=- (21.10.03 17:51) [5]
Лень справку открыть ?

>TP (21.10.03 17:54) [6]
Причем тут это ?


-=GUEST=-   (2003-10-21 17:59:00) [26]

При чем тут кто кого потомки?
Если кому-то будет интересно,
пример в Delphi\Demos\Midas\Aggregate


TP   (2003-10-21 17:54:00) [27]

Что в лоб, что полбу:
TQuery и TClientDateSet потомки TDataSet,а как извесно 1+1=2.


-=GUEST=-   (2003-10-21 17:51:00) [28]

Имеется в виду Midas.
Если не сложно пример или ссылку(идея понятна, кроме "Результат из Query помещаешь в ClientDataSet" - не работал еще с ClientDataSet)
Заранее благодарен.


Vlad   (2003-10-21 17:45:00) [29]

А чего тут подробнее то ?
У тебя задача, не делать дважды один и тот же запрос к серверу.
Так делай его один раз. Результат из Query помещаешь в ClientDataSet, и имеешь два независимых но одинаковых набора данных.


-=GUEST=-   (2003-10-21 17:37:00) [30]

По поводу TClientDataset - поподробнее, plz.


Vlad   (2003-10-21 17:33:00) [31]

Можно.
Используй TClientDataSet


TP   (2003-10-21 17:31:00) [32]

Нет


Страницы:   1 2

Наверх

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