Главная страница
    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.037 c
14-1119527005
NewWonder
2005-06-23 15:43
2005.07.18
Что должно быть в ТЗ для программы средней сложности?


6-1113119643
DimDim
2005-04-10 11:54
2005.07.18
Системный каталог на соседнем компьютере?


1-1120394991
Толян
2005-07-03 16:49
2005.07.18
Загрузка кода изи MEMO


1-1119995545
Черный_Кот
2005-06-29 01:52
2005.07.18
Отключение DLL


14-1119616196
TUser
2005-06-24 16:29
2005.07.18
Windows = DOS ???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский