Главная страница
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.027 c
6-98771
Finger
2003-09-04 12:04
2003.10.30
MAC


14-98808
Юрий Федоров
2003-10-11 20:57
2003.10.30
Как правильно убить винт ???


4-98919
Son!K
2003-08-26 16:00
2003.10.30
Формы


1-98611
No_Na_Me
2003-10-16 20:00
2003.10.30
FileSetAttr & FileGetAttr


1-98550
GLum
2003-10-20 15:07
2003.10.30
Автоматическое нажатие RadioButton1, как сделать???