Muchas gracias por tu atención, aqui te muestro el contenido del codigo con las modificaciones que me has dicho:
Procedimiento PageIndexChange
Código Delphi
[-]
CambiarPaginaAux;
DataGrid1.CurrentPageIndex :=e.NewPageIndex;
DataGrid1.DataBind;
CatalogoReader.Close;
Trans.Commit;
Trans.Free;
Procedimiento CambiarPaginaAux, donde las variables Trans y CatalogoReader son globales.
Código Delphi
[-]
var
Cadena: BdpCommand;
sSQL: string;
begin
Trans := MyConeccion.BeginTransaction();
sSQL := 'select Art_Codi, Art_Desc, Art_EPV_Coste from Articulos where Art_PVP1 = ''' + '0' + '''';
Cadena := BdpCommand.Create(sSQL, MyConeccion, Trans);
CatalogoReader := Cadena.ExecuteReader;
DataGrid1.VirtualItemCount := 15000;
DataGrid1.DataSource:=CatalogoReader;
Haciendo esto, me señala el número de la página pulsada como si estuviera situado en él, pero el contenido es el de la página 1.
Gracias