Ir al contenido


Foto

[RESUELTO] Como desactivar el boto ''Borrar'' cuando en una tabla no hay clientes


  • Por favor identifícate para responder
4 respuestas en este tema

#1 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 30 octubre 2010 - 06:39

Como desactivar el boto ''Borrar'' cuando en una tabla no hay ningun registro ??
LA BD es de SQL server 2005 express
  • 0

#2 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 30 octubre 2010 - 06:49

Hola Isedr,

¿Que tipo de botón es? ¿Es un TButton común o es el botón delete de un DBNavigator? Si te refieres a un DBNavigator supuestamente se desactivan/habilitan de forma automática dependiendo del cursor y/o de si el dataset está abierto o cerrado.

Si es botón normal basta con poner la propiedad Enabled en false. No recuerdo bien si los componentes ADO tienen el método IsEmpty, en código debería ser así:


delphi
  1. Button1.Enabled := NOT ADOTable1.IsEmpty

;

IsEmpty es un método que regresa true si el dataset está vacio, false en caso contrario. Como en este caso deseamos poner en false cuando sea un resultado true, debemos negar la expresión, de allí el NOT.

Espero que se entienda.

Saludos,
  • 0

#3 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 octubre 2010 - 06:49

Puede que te funcione con el RecordCount del DataSet, algo como:

MiBoton.Enabled := (MiDataSet.RecordCount <> 0)


Saludos!
  • 0

#4 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 octubre 2010 - 06:52

O para el caso de ADO, sería mas sano la propuesta de Delphius.


Saludos!
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 01 noviembre 2010 - 09:04

Pues..



delphi
  1. if ADOTable1.isEmpty then
  2.   btnBorrar.Enabled := False
  3. else
  4.   btnBorrar.Enabled := True;


  • 0




IP.Board spam blocked by CleanTalk.