Главная страница
    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.47 MB
Время: 0.04 c
4-1116836805
cautur
2005-05-23 12:26
2005.07.18
Имя компьютера


14-1119429983
timotei
2005-06-22 12:46
2005.07.18
Memory Spy


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


1-1119677865
syte_ser78
2005-06-25 09:37
2005.07.18
Отображение окна


14-1119344318
WondeRu
2005-06-21 12:58
2005.07.18
"Осторожно, СПИД!"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский