Главная страница
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.031 c
14-98862
lak
2003-10-11 00:51
2003.10.30
пять баллов! орех рулит!


11-98534
Фдучфтвук
2003-02-09 14:27
2003.10.30
[Delphi6] чтение секторов с дискеты


3-98463
inspirion
2003-10-10 09:30
2003.10.30
Помогите советом!


3-98470
Dim!S
2003-10-10 08:06
2003.10.30
Колонка в DBGrid


1-98586
slap
2003-10-20 08:54
2003.10.30
BeginThread