Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-05-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola mblascog.

El boton borrar no esta habilitado si la tabla está vacía; solo están habilitados los botones: insertar, editar y refrescar; lo que me parece un comportamiento lógico.

Pero de todos modos si tu intención es deshabilitar todos los botones cuando no haya datos en la tabla, creo que un evento adecuado es OnDataChange de los TDataSources. Y para comprobar la existencia de datos, la propiedad IsEmpty como ya lo dijo Caminante
Código Delphi [-]
...
interface
...
type
  // Para acceder a la propiedad protegida Buttons:
  TDBNavigator = class(DBCtrls.TDBNavigator); 

  TForm1 = class(TForm)
  ...

implementation

// DataSource Detail - OnDataChange
procedure TForm1.dsDetailDataChange(Sender: TObject; Field: TField);
var
  i : TNavigateBtn;
begin
  for i := Low(TNavigateBtn) to High(TNavigateBtn) do
    DBNavigatorDetail.Buttons[i].Enabled := not dsDetail.DataSet.IsEmpty;
end;

// DataSource Master - OnDataChange
procedure TForm1.dsMasterDataChange(Sender: TObject; Field: TField);
var
  i : TNavigateBtn;
begin
  for i := Low(TNavigateBtn) to High(TNavigateBtn) do
    DBNavigatorMaster.Buttons[i].Enabled := not dsMaster.DataSet.IsEmpty;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 21-05-2016
mblascog mblascog is offline
Miembro
 
Registrado: may 2006
Posts: 131
Poder: 21
mblascog Va por buen camino
Creo que no me he expresado bien. Tengo un dgbrid con registros, y un segundo dbgrid que apunta a otra tabla pero unido al primero. Cada vez que selecciono un registro del primer dbgrid, el segundo puede o no contener registros, por lo que no se trata de mirar la propiedadi isEmpty del dataset al activarlo.
Responder Con Cita
  #3  
Antiguo 21-05-2016
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 16
Caminante Va camino a la fama
Yo creo que si.

EL DBGrid esta conectado a un datasource y este a un dataset. Para ver si el dataset esta vacio mira el valor de la propiedad isempty.
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #4  
Antiguo 21-05-2016
mblascog mblascog is offline
Miembro
 
Registrado: may 2006
Posts: 131
Poder: 21
mblascog Va por buen camino
Caminante, yo buscaba algo parecido al evento onStateChange del datasource, que es automático. Si tengo que comprobar si el dataset isEmpty, cada vez que se cambia de registro tengo que comprobarlo
Responder Con Cita
  #5  
Antiguo 21-05-2016
rocksoft rocksoft is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 71
Poder: 11
rocksoft Va por buen camino
Hola Caminante,

que tal con un if db1.RecordCount > 0 then...
Responder Con Cita
  #6  
Antiguo 22-05-2016
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 16
Caminante Va camino a la fama
Bueno no confio mucho en recordcount ya que puede variar de acuerdo al tipo de dataset y a veces puede no devolver el valor correcto.

Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #7  
Antiguo 22-05-2016
mblascog mblascog is offline
Miembro
 
Registrado: may 2006
Posts: 131
Poder: 21
mblascog Va por buen camino
En realidad mi pregunta no es cómo saber si un dataset está vacío o no, hay varias maneras de controlarlo. Lo que es estoy buscando es la manera automática de detectarlo, en qué evento
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Traer un valor de un campo de la Tabla (Access) incluso si esta vacia nefore Conexión con bases de datos 4 16-06-2013 22:45:58
Añadir registro en tabla firebird si la tabla está vacia jafera Firebird e Interbase 19 22-08-2012 11:59:35
SelectedRows esta vacia Paulao Varios 2 12-03-2009 10:26:07
preguntar por una imagen si esta vacia ingel Gráficos 2 10-05-2007 19:22:14
¿No se puede desactivar un ADOTABLE cuando la tabla está vacia? User_Baja_2 Conexión con bases de datos 1 12-06-2004 18:35:24


La franja horaria es GMT +2. Ahora son las 05:02:51.


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