![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Один DataSet - два курсора [D5, IB6.x, Paradox]
-=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]
Нет