Hola.
Lo más simple es crear el evento en el mismo
TDataModule:
Click sobre el DataSet ->
Click pestaña Events ->
Doble click sobre AfterScroll.
Pero al estar el DataSet en un DataModule, te conviene asignarlo manualmente en donde lo utilices y liberarlo al finalizar su uso:
Código Delphi
[-]
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
...
procedure FormDestroy(Sender: TObject);
private
procedure DataSetAfterScroll(DataSet: TDataSet);
public
end;
var
Form1: TForm1;
implementation
uses Unit2;
procedure TForm1.DataSetAfterScroll(DataSet: TDataSet);
begin
Caption:= DBGrid1.SelectedField.AsString;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DataModule.DataSet.AfterScroll:= DataSetAfterScroll; end;
...
procedure TForm1.FormDestroy(Sender: TObject);
begin
DataModule.DataSet.AfterScroll:= nil; end;
Deberás asegurarte que el DataModule esté creado con anterioridad a donde realices la asignación (Form1 en el ejemplo) ya que si no, estarías intentando asignar un evento a algo inexistente y lanzará una excepción.
Saludos.