Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
3-98464
Broot
2003-10-11 06:29
2003.10.30
Русский язык в базе данных DBASE


3-98497
_Agent_
2003-10-10 20:02
2003.10.30
Ошибка при закрытии TADOStoredProc .


6-98773
Jo
2003-09-01 17:20
2003.10.30
ftp


4-98920
SH
2003-08-26 17:34
2003.10.30
TMemo - цветные строки и слова


14-98838
Soft
2003-10-11 15:33
2003.10.30
Айл би бэк сказал один, или Терминатор - губернатор Калифорнии.




   Наверх