Ver Mensaje Individual
  #16  
Antiguo 16-05-2006
Avatar de waltergomez
waltergomez waltergomez is offline
Miembro
 
Registrado: may 2006
Posts: 202
Reputación: 19
waltergomez Va por buen camino
Tengo una solucion pero no funciona si usas la barra de scroll. Tampoco me puse a ver muy profundo. Peor es nada

Código Delphi [-]
  TMalditaGrilla = class(TDBGrid)
  public
    FPos : integer;
    procedure Scroll(Distance: Integer); override; // Este metodo es  Progido !!! 
 end;

  TForm1 = class(TForm)
    Database1: TDatabase;
    Table1: TTable;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    FMalditaGrilla : TMalditaGrilla;
    FCTR : integer;
  end;



var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
  Table1.Filtered := false;
  Table1.Filter := 'empno > 20';
  Table1.Filtered := true;
  Table1.First;
end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  Check(DbiGetExactRecordCount(Table1.Handle, FCTR));
  showmessage(inttostr(FMalditaGrilla.FPos + 1)+' / '+inttostr(FCTR));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FMalditaGrilla := TMalditaGrilla.Create(self);
  FMalditaGrilla.DataSource := DataSource1;
  FMalditaGrilla.FPos := 0;
end;

procedure TMalditaGrilla.Scroll(Distance: Integer);
begin
  inherited Scroll(Distance);
  FPos := FPos + Distance;
end;

Lo que hace uno por un brindis. jajajaj
Responder Con Cita