Вниз
Скачать: 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.014 c
14-98867
Мазут Береговой
2003-10-10 10:06
2003.10.30
Братцы! Оказывается лампочку изобрел совсем не Ильич!


3-98517
td
2003-10-02 22:38
2003.10.30
Visual FoxPro в dBase IV


9-98426
vitas
2003-04-20 18:44
2003.10.30
Авторские права


3-98472
rosl
2003-10-09 06:24
2003.10.30
поиск с помощью sql


1-98604
lasso
2003-10-21 16:14
2003.10.30
форма




   Наверх