Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   TDBNavigator (https://www.clubdelphi.com/foros/showthread.php?t=11240)

emeritos 09-06-2004 09:44:14

TDBNavigator
 
¿ Con que evento o funcion se puede averiguar que tecla es la que se ha pulsado en el TDBNavigator ?.

cbrrr 09-06-2004 10:28:22

Mírate los eventos OnClick y BeforeAction

El segundo salta antes de la ejecución de la operación (con lo que podrías cancelarla) y el segundo justo después de la operación

Espero que te sirva

emeritos 09-06-2004 11:04:39

Si eso ya lo sabia, muchas gracias, pero si aprieto en TDBNavigator el First o Next etc.. como puedo averiguar que esa es la tecla presionada.

cbrrr 09-06-2004 12:31:36

Por el parámetro Button que reciben los eventos

Si buscas en la ayuda TNavigateBtn verás los posibles valores

nbFirst
nbPrior
nbNext
nbLast
nbInsert
nbDelete
nbEdit
nbPost
nbCancel
nbRefresh

Espero que te sea de ayuda

Pablo Carlos 10-06-2004 03:01:34

yo lo manejo asi
Código Delphi [-]
procedure TfrmDatosPersonales.dbNavegadorDatosBeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin
 if Button = nbEdit then
  ActivarDatos;
  if Button = nbInsert then
   ActivarDatos;
    if Button = nbCancel then
     DesactivarDatos;
     if Button = nbPost then
      DesactivarDatos;
end;

debes poner en uses esto db

roman 10-06-2004 05:55:37

Quedaría un poco más prolijo con un case:

Código Delphi [-]
case Button of
  nbFirst: ... ;
  nbPrior: ... ;
  nbPrior: ... ;
  nbLast: ... ;
  nbInsert: ... ;
  nbEdit: ... ;

  etcétera
end;

// Saludos

Shikanda 04-09-2007 10:01:01

Hola! Veo que este hilo es de 2004, con que no sé si alguien leerá esto o podrá ayudarme.

Os explico. Estoy en un formulario, en un registro de una tabla, y quiero abrir otro formulario para insertarle un registro nuevo que recoja algunos datos del formulario actual. Por tanto, lo que quiero es poder "pulsar" el botón nbInsert del segundo formulario, desde el primero. He probado con BtnClick(nbInsert) pero me dice que no son tipos compatibles (Delphi entiende que el nbInsert es del "formulario1", que es distinto del nbInsert del "formulario2").

Cuanto más escribo en los foros más llego a la conclusión de que me expreso fatal. Si alguien lee esto, ¿podrá echarme una mano?

defcon1_es 04-09-2007 11:15:05

Hola Shikanda.
Es mucho más fácil usar los métodos del DataSet (Insert/Edit/Post) que uses en ese segundo formulario, en vez de pulsar los botones del navegador.

Ejp: Para añadir datos en el segundo formulario,
en vez de pulsar el boton + del navegador, usa DataSet.Insert

Shikanda 04-09-2007 11:52:30

Tienes razón, defcon1_es, el navegador al fin y al cabo es una forma de usar los dataset. El "problema" es que se trata de que tengo un formulario para manejar una tabla Departamentos de un instituto, que tiene sólo un código y una descripción. En ese formulario se da la opción de poder añadir un profesor a ese departamento, por lo que al pulsar ese botón quería poder abrir el formulario profesores con el botón Insertar pulsado y con el código de departamente recogido del formulario Departamentos, pero con opción de seguir introduciendo valores en la ficha de profesor y, finalmente, tener activada la opción Post en el navegador.

Muy rebuscado??


La franja horaria es GMT +2. Ahora son las 13:15:27.

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