Ver Mensaje Individual
  #3  
Antiguo 21-05-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
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