![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Так всё-таки: как DB-шные компоненты работают с TDataSet? [D5]
Ega23 © (2005-06-02 19:50:00)Вот, допустим, DBGrid. Ему "присандалили" какой-то DataSource.
Надо отрисовать данные, причём не текущей строки, а вообще, всё что на экран влезет.
Как я понял из исходников, методами самого DataSet-а (имею ввиду First, Next, Prior etc.) для считывания данных после обновления DBGrid не пользуется. Иначе курсор бы двигался. А вот как он эти данные берёт, я что-то не въехал.
Объясните, как оно работает????
Ega23 (2005-06-03 11:49:00) [1]TDataSource.NotifyDataLinks(Event: TDataEvent; Info: Longint)
О! То что нужно. Пожалуй, дальше сам разберусь.
Всем ОГРОМНОЕ СПАСИБО!
Bronco (2005-06-03 11:41:00) [2]
> Ega23 © (03.06.05 11:17) [9]
> ДатаЛинк - для внутреннего пользования...
>
> Это я понял. Не совсем ясно, откуда там берутся данные после
> обновления датасета?
На сколько я понял из исходников, DataSource в себе содержит FDataLinks, т.е. список подключенных к нему DataLink-ов от разных контролов. Обновление производится методом
TDataSource.NotifyDataLinks(Event: TDataEvent; Info: Longint)
Danilka (2005-06-03 11:23:00) [3][9] Ega23 © (03.06.05 11:17)
Просто интересно, ты сам хочешь аналог ДатаЛинка написать, или наоборот, хочешь им воспользоваться для каких-то своих компонент, не детей от стандартных, и поэтому интересно как он работает?
Johnmen (2005-06-03 11:22:00) [4]Как откуда ? Через источник данных из набора данных.
Как берутся ? Ответ в исходниках.
Ega23 (2005-06-03 11:17:00) [5]ДатаЛинк - для внутреннего пользования...
Это я понял. Не совсем ясно, откуда там берутся данные после обновления датасета?
Johnmen (2005-06-03 11:15:00) [6]ДатаЛинк - для внутреннего пользования...
Ega23 (2005-06-03 11:02:00) [7]Тогда последний вопрос: при обновлении DataSet'а данные в DataLink будут рефрешится сами, или это надо делать принудительно?
В VCL наткнулся, что DataLink регистрирует себя в DataSourc'е. Глубже пока не копнул...
Johnmen (2005-06-03 10:58:00) [8]>Ega23 © (03.06.05 09:56) [5]
TDataLink это буфер отображаемых записей.
Посмотри ActiveRecord+F1 :)))
Ega23 (2005-06-03 09:56:00) [9]Т.е., насколько я понял, TDataLink - это и есть буффер данных DataSet'а? И с помощью DataLink.ActiveRecord я могу получить доступ к активной записи?
pasha_golub (2005-06-02 20:49:00) [10]Олегыч, копай дальше... :0)
Petr V. Abramov (2005-06-02 20:46:00) [11]см. TGridDataLink
sniknik (2005-06-02 20:16:00) [12]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1115803308&n=1
думаю будет интересно ;о))
Anatoly Podgoretsky (2005-06-02 20:04:00) [13]Наблидение за внешними проявлениями не верный метод.
Для этого есть исходники.