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

Вниз

Написание компонент и TDataLink   Найти похожие ветки 

 
ton2   (2002-11-14 12:07) [0]

Пишу свой компонент который содержит поле Edit в котором отображается номер текущей записи датасета, Label показывающий число записей в датасете и кнопки навигации. связываю мой новый компонент с датасетом через TDataLink. чтоб отловить момент когда изменяется положение курсора в датасете пытаюсь использовать DataSetChanged, вот так:
FDataLink := TDataLink.Create;
FDataLink.DataSetChanged:=DSChange;
где DSChange - моя процедура обработки события. когда пытаюсь откомпилировать - говорит DataSetChanged - необъявленый идентификатор хотя в TDataLink имеется этот метод, говорится в хелпе. если не через DataSetChanged как еще можно отловить изменение датасета?


 
SaS13 ©   (2002-11-14 12:10) [1]

FDataLink := TDataLink.Create;
FDataLink. onDataSetChanged:=DSChange;


 
ton2   (2002-11-14 12:16) [2]

то же самое. Ощибка: onDataSetChanged - необъявленный идентификатор.


 
ЮЮ ©   (2002-11-14 12:24) [3]

DataSetChanged - это метод TDatalink, а не Event;


 
ton2   (2002-11-14 12:29) [4]

как же тогда среагировать на изменение данных в датасете? неужели придется создавать класс производный от TDataLink и в нем переписывать метод DataSetChanged?


 
SaS13 ©   (2002-11-14 12:29) [5]

ЮЮ © (14.11.02 12:24)
сорри,
даже не посмотрел :))


 
SaS13 ©   (2002-11-14 12:37) [6]

2 ton2
tDataSet.AfterScroll не подойдет?


 
ton2   (2002-11-14 12:40) [7]

AfterScroll тоже пробовал и то же самое


 
SaS13 ©   (2002-11-14 12:45) [8]

type
TForm1 = class(TForm)
...
procedure MyAfterScroll(DataSet: TDataSet);
..
end;

в теле:
Table1.onAfterScroll := MyAfterScroll;


 
ЮЮ ©   (2002-11-14 12:54) [9]

>неужели придется создавать класс производный от TDataLink и в нем переписывать метод DataSetChanged?

Естественно. Посмотри например TGridDataLink.
Переопределенный метод

procedure TGridDataLink.DataSetChanged;
begin
FGrid.DataChanged;
FModified := False;
end;

позволяет при вызове этого метода провести некоторые действия внутри своего компонента и вызвать, при необходимости, обработчики событий уже своего компонента

procedure TCustomDBGrid.DataChanged;
begin
if not HandleAllocated then Exit;
UpdateRowCount;
UpdateScrollBar;
UpdateActive;
InvalidateEditor;
ValidateRect(Handle, nil);
Invalidate;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
1-4336
skirdov
2002-11-20 17:02
2002.12.02
Как выполнить процедуру, имя которой содержится в переменной?


3-4216
pavelsinicinv
2002-11-14 10:40
2002.12.02
вводить время больше 23:59:59 (поле имеет тип Time) к примеру 145


3-4211
Геннадий
2002-11-12 21:42
2002.12.02
При удалении дублир-щих записей удал-ся ВСЕ. А как оставить одну?


3-4207
Antey
2002-11-13 16:10
2002.12.02
SQL- запрос


14-4591
Monya
2002-11-12 10:12
2002.12.02
Системные переменные