Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

Так всё-таки: как 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.043 c
14-1119598377
Seg
2005-06-24 11:32
2005.07.18
Купят ли китайцы Microsoft


8-1111400251
man1
2005-03-21 13:17
2005.07.18
где можно найти исходники граф. редактора


14-1119949293
Ega23
2005-06-28 13:01
2005.07.18
Помогите с терминологией!


14-1119348049
begin...end
2005-06-21 14:00
2005.07.18
Ещё одним инженером стало больше... :-)


1-1120070024
Radgar
2005-06-29 22:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский