Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

Про устройство компонента DBGrid   Найти похожие ветки 

 
KSergey ©   (2003-10-17 14:28) [0]

Такой вопрос взволновал: например, есть DBGrid.
Когда необходимо его отрисовать, он, понятно, бегает по DataSet, чтобы вывести данные в строки.
Однако, возьмем такой код:

ADOQuery1.Open;
ADOQuery1.Insert;
DataSource1.DataSet := ADOQuery1;
DBGrid1.DataSource := DataSource1;

Ну компоненты на форму накиданы, но не связаны.
Что получается: DataSet находится в режиме вставки. Однако гриду, чтобы отрисоваться, необходимо пробежать по записям.
Но посмотрим на другой пример: на форме те же компоненты, но уже связаны (впрочем, это лишь для наглядности), ADOQuery1 уже открыт.
В кнопках такие обработчики:

procedure TForm1.Button5Click(Sender: TObject);
begin
ADOQuery1.Insert;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
ADOQuery1.Prior;
end;

Жмем на Button5 - появляется новая строка
Жмем на Button6 - новая строка исчезает, т.е. при смещении с записи, которая в режиме вставки, происходит Cancel DataSet"а.

Вопрос: как же это так DBGrid бегает по DataSet"у, что DataSet"у это фиолетово? Может у него метод какой волшебный есть?
Можно, конечно, исходники изучать. чем я и занимаюсь как раз, но может кто сразу подскажет где рыть?


 
Кулюкин Олег ©   (2003-10-17 14:32) [1]


> Может у него метод какой волшебный есть?

TDataLink имя его.



Страницы: 1 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
1-98694
lasso
2003-10-21 10:06
2003.10.30
Label


7-98908
Rob
2003-08-15 01:16
2003.10.30
изменение строковых ресурсов в экзешнике


7-98897
Novenkij
2003-08-18 22:31
2003.10.30
Вопрос по CD


14-98851
andre
2003-10-09 18:26
2003.10.30
FastLib


1-98551
AndrewK
2003-10-20 14:28
2003.10.30
TADOConnection в консольном приложении