Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Вызвать onAfterScroll даже если пользователь


Автор: BezpredelNaForume 4.10.2007, 10:29
У TADOtable есть событие AfterScroll(DataSet: TDataSet);  в этом AfterScroll написана процедура.

Код

procedure TDataModule2.SubAbtTableAfterScroll(DataSet: TDataSet);
begin
  try
    NAbon := AbonentTable.FieldByName('Абонент').AsString;
    NSubAb := SubAbtTable.FieldByName('СубАбонент').AsString;
    NSubAbKl := SubAbtTable.FieldByName('СубАбонентКлюч').AsString;
    NormaUpdate(NAbon, NSubAb, NSubAbKl);
  except
  end;
end;


Как можно програмно вызвать событие AfterScroll даже если пользователь не перемещался по таблице?

ps Только без next, prior, и т.д. Это не есть хорошо. Спасибо заранее

Автор: Savek 4.10.2007, 11:25
Так и вызови
Код

...
Begin
DataModule2.SubAbtTableAfterScroll(DataSet);

Автор: Bose 4.10.2007, 12:30
Цитата(BezpredelNaForume @  4.10.2007,  10:29 Найти цитируемый пост)
Как можно програмно вызвать событие AfterScroll даже если пользователь не перемещался по таблице?

Лучше всего в таком случае вынести код в отдельный метод. Дать этому методу понятное название и вызывать его когда понадобится.
Код

procedure TDataModule2.InitializeAbon;
begin
  try
    NAbon := AbonentTable.FieldByName('Абонент').AsString;
    NSubAb := SubAbtTable.FieldByName('СубАбонент').AsString;
    NSubAbKl := SubAbtTable.FieldByName('СубАбонентКлюч').AsString;
    NormaUpdate(NAbon, NSubAb, NSubAbKl);
  except
  end;
end;


И вызывать этот метод из AfterScroll:
Код

procedure TDataModule2.SubAbtTableAfterScroll(DataSet: TDataSet);
begin
  InitializeAbon;
end;


Автор: BezpredelNaForume 4.10.2007, 13:27
Все ок.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)