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

Вниз

Так всё-таки: как DB-шные компоненты работают с TDataSet?   Найти похожие ветки 

 
Ega23 ©   (2005-06-02 19:50) [0]

Вот, допустим, DBGrid. Ему "присандалили" какой-то DataSource.
Надо отрисовать данные, причём не текущей строки, а вообще, всё что на экран влезет.
Как я понял из исходников, методами самого DataSet-а (имею ввиду First, Next, Prior etc.) для считывания данных после обновления DBGrid не пользуется. Иначе курсор бы двигался. А вот как он эти данные берёт, я что-то не въехал.
Объясните, как оно работает????


 
Anatoly Podgoretsky ©   (2005-06-02 20:04) [1]

Наблидение за внешними проявлениями не верный метод.
Для этого есть исходники.


 
sniknik ©   (2005-06-02 20:16) [2]

http://delphimaster.net/view/3-1115803308/
думаю будет интересно ;о))


 
Petr V. Abramov ©   (2005-06-02 20:46) [3]

см. TGridDataLink


 
pasha_golub ©   (2005-06-02 20:49) [4]

Олегыч, копай дальше... :0)


 
Ega23 ©   (2005-06-03 09:56) [5]

Т.е., насколько я понял, TDataLink - это и есть буффер данных DataSet"а? И с помощью DataLink.ActiveRecord я могу получить доступ к активной записи?


 
Johnmen ©   (2005-06-03 10:58) [6]

>Ega23 ©   (03.06.05 09:56) [5]

TDataLink это буфер отображаемых записей.
Посмотри ActiveRecord+F1 :)))


 
Ega23 ©   (2005-06-03 11:02) [7]

Тогда последний вопрос: при обновлении DataSet"а данные в DataLink будут рефрешится сами, или это надо делать принудительно?
В VCL наткнулся, что DataLink регистрирует себя в DataSourc"е. Глубже пока не копнул...


 
Johnmen ©   (2005-06-03 11:15) [8]

ДатаЛинк - для внутреннего пользования...


 
Ega23 ©   (2005-06-03 11:17) [9]

ДатаЛинк - для внутреннего пользования...

Это я понял. Не совсем ясно, откуда там берутся данные после обновления датасета?


 
Johnmen ©   (2005-06-03 11:22) [10]

Как откуда ? Через источник данных из набора данных.
Как берутся ? Ответ в исходниках.


 
Danilka ©   (2005-06-03 11:23) [11]

[9] Ega23 ©   (03.06.05 11:17)
Просто интересно, ты сам хочешь аналог ДатаЛинка написать, или наоборот, хочешь им воспользоваться для каких-то своих компонент, не детей от стандартных, и поэтому интересно как он работает?


 
Bronco ©   (2005-06-03 11:41) [12]


> Ega23 ©   (03.06.05 11:17) [9]
> ДатаЛинк - для внутреннего пользования...
>
> Это я понял. Не совсем ясно, откуда там берутся данные после
> обновления датасета?

На сколько я понял из исходников, DataSource в себе содержит FDataLinks, т.е. список подключенных к нему DataLink-ов от разных контролов. Обновление производится методом
TDataSource.NotifyDataLinks(Event: TDataEvent; Info: Longint)


 
Ega23 ©   (2005-06-03 11:49) [13]

TDataSource.NotifyDataLinks(Event: TDataEvent; Info: Longint)

О! То что нужно. Пожалуй, дальше сам разберусь.

Всем ОГРОМНОЕ СПАСИБО!



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

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

Наверх




Память: 0.5 MB
Время: 0.05 c
1-1120137772
and
2005-06-30 17:22
2005.07.18
Трассировка только своих модулей


4-1116761869
dEd
2005-05-22 15:37
2005.07.18
Очистка буфера клавиатуры


1-1120291967
SpyBoy
2005-07-02 12:12
2005.07.18
Without forms


1-1119873973
Dr. Genius
2005-06-27 16:06
2005.07.18
Ошибка при переводе Bmp в Wmf


14-1119416218
Ega23
2005-06-22 08:56
2005.07.18
С днём рождения! 22 июня