[Lazarus-es] posicionar fila en grid en determinado registro
Fredy Gonzales
fredyg1965 en gmail.com
Lun Abr 26 17:53:14 CEST 2010
Te envio algo que encontre por alli de delphi y lo aplique a lazarus
type
{ TGlobal }
// Aqui creamos la clase global THackDBGrid
THackDBGrid = class(TDBGrid);
// Este modulo lo coloque dentro de mi datamodule, asi podia llamarlo desde
cualquier
//formulario que use data
procedure TGlobal.Refresh_gridrow(dbgrid1: TDBGrid);
var
rowDelta: Integer;
row: integer;
recNo: integer;
ds : TDataSet;
begin
ds := THackDBGrid(dbgrid1).DataSource.DataSet;
rowDelta := -1 + THackDBGrid(dbgrid1).Row;
row := ds.RecNo;
ds.Refresh;
with ds do
begin
DisableControls;
RecNo := row;
MoveBy(-rowDelta) ;
MoveBy(rowDelta) ;
EnableControls;
end;
ds:=Nil
end;
Y lo invoco asi, cuando necesito refrescar algo
procedure Tuliquid2010.dbrwliquidaDblClick(Sender: TObject);
begin
Application.CreateForm(Tftomaservicios, ftomaservicios);
with ftomaservicios do
Begin
if(ShowModal = mrOK ) Then
Begin
global.Refresh_gridrow(dbrwliquida);
end;
end;
FreeAndNil(ftomaservicios);
end;
Espero te sirva saludas.
Fredy Gonzales P.
Lima - Peru
----- Original Message -----
From: "José Antonio Cuello" <josea en artextrading.com>
To: "Spanish version of Lazarus List"
<lazarus-es en lists.lazarus.freepascal.org>
Sent: Monday, April 26, 2010 7:44 AM
Subject: Re: [Lazarus-es] posicionar fila en grid en determinado registro
hola te envio el procedimiento que uso para refrescar los datos de un
grid, espero te sirva. Un saludo.
P.D: DBGrid1 = nombre de tu grid ( esto es por si refresca el Dataset
del grid )
procedure TMantForm.RefreshQry( Sender: TDataSet );
Var
vBookMark: String;
vActGrid : Boolean;
begin
if Sender.Active then
vBookMark := Sender.Bookmark
else
vBookMark := '';
vActGrid := (Sender = DBGrid1.DataSource.DataSet);
try
if vActGrid then DBGrid1.BeginUpdate;
Sender.Close;
Sender.Open;
finally
if vActGrid then DBGrid1.EndUpdate(true);
end;
if vBookMark <> '' then
try
Sender.Bookmark := vBookMark;
except
end;
end;
El sáb, 24-04-2010 a las 11:46 -0300, Paola Bruccoleri escribió:
> Hola a todos..
> tengo un grid asociado a un tzquery.
> Supongamos que me posiciono en un registro cualquiera, y agrego unos
> datos a otra tabla. Esos datos están relacionados con los del grid.
> Obviamente necesito actualizar el grid para ver el cambio en un
> importe.
> Cuando hago el refresh, me queda seleccionado el primer registro del
> grid, y no donde yo estaba.
>
> ¿Cómo puedo hacer para quedarme en ese registro? colocando algún
> bookmark?
> muchas gracias a todos...
> chauuuuuuuuuu
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
More information about the Lazarus-es
mailing list