¡Hola!
A mi se me ocurre lo siguiente.
En tu dataset, crear un campo calculado. Ejemplo: NumRegistro. (click boton derecho sobre tu dataset, fieldseditor, add field, calculated)
y en el evento OnCalcFields del dataset. asignar esta sentencia.
Código Delphi
[-]
procedure TFrmArticulos.TablaCalcFields(DataSet: TDataSet);
begin
TablaFiltradaNumRegistro.asInteger := TablaFiltrada.Recno - 1;
end;
asi, tendrás un campo 2persistente" que te dice en que registro estas, y cuantos son los que tienes.