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
TDBNavigator = class(DBCtrls.TDBNavigator);
TForm1 = class(TForm)
...
implementation
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;
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