Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Opción currentRecord en Delphi. (https://www.clubdelphi.com/foros/showthread.php?t=59976)

Parche 16-09-2008 12:50:52

Opción currentRecord en Delphi.
 
Buenos días:

He creado cuatro botones con las opciones: << < - > >> el guión(-) es un texto donde coloco el: recordcount. Quisiera seguir poniendo un label a continuación del (>>) más o menos: 0 de: 0 ... según mueva el registro. Hasta ahora consigo mover un dbgrid1 enlazado con un datasource1 y éste a un adoquery1, pero no consigo, cuando pulso los botones de arriba, que visualice el registro actual.

En access sí que está.

Saludos.

Caro 16-09-2008 13:28:53

Hola Parche, si quieres que funcionen las teclas de arriba y abajo tendras que utilizar el evento OnKeyUp del DbGrid, tendría que ser algo así.

Código Delphi [-]
procedure TForm1.DBGridKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (key=vk_down) or (key=vk_up) then
  Label1.Caption := IntToStr(ADOQuery.RecNo)+' de: '+IntToStr(ADOQuery.RecordCount);

Saluditos

Parche 16-09-2008 17:54:34

Cita:

Empezado por Caro (Mensaje 314319)
Hola Parche, si quieres que funcionen las teclas de arriba y abajo tendras que utilizar el evento OnKeyUp del DbGrid, tendría que ser algo así.


Código Delphi [-]
procedure TForm1.DBGridKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_down) or (key=vk_up) then
Label1.Caption := IntToStr(ADOQuery.RecNo)+' de: '+IntToStr(ADOQuery.RecordCount);





Saluditos

Buenas tardes:

No conocía: RecNo ... yo lo había hecho así:

procedure TForm1.cmdSiguienteClick(Sender: TObject);
begin
//DBGrid1.DataSource.DataSet.Next;

ADOQuery1.Next;

//lblDe.caption:= '0' + ' de: ' + IntToStr(DBGrid1.DataSource.DataSet.RecordCount);

lblDe.caption:= IntToStr(ADOQuery1.RecNo) + ' de: ' + IntToStr(ADOQuery1.RecordCount);
-----Hecho a partir de lo que me has dicho :-) ----------------
if IntToStr(ADOQuery1.RecNo)=IntToStr(ADOQuery1.RecordCount) then
begin
ShowMessage('Final.');
end
else
end;

Gracias por tu respuesta.

Saludos.


La franja horaria es GMT +2. Ahora son las 16:23:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi