PDA

Ver la Versión Completa : DBGrid y otras


asdbernardo
04-10-2011, 23:49:51
Buenas tardes, foristas del club delphi.. vengo con otras dudillas..

ahora es con grillas, mi caso es el siguiente...

tengo un formulario con 6 botones ...

Añadir - Borrar - Restaurar - Modificar - Confirmar - Cancelar

GRILLA

bueno Estoy con lo de las validaciones.. cuando se crea el formulario la grilla esta filtrada con un campo anexo que no lo muestro en la grilla llamado borrado ( es boolean ) el cual me indica si esta borrado o no el campo lo que pasa es que estoy haciendo es borrado logico, mas no fisico de la base de datos, por lo que coloque ese campo llamado BORRADO, con este verifico si es 1 esta borrado no lo muestra en la grilla y si es 0 lo deja en la grilla..

a ver si mas o menos lo explique bien, lo que quiero es que en la misma grilla(dbgrid1) yo pueda decirle a la grilla o al data set que vaya al campo borrado y compruebe si hay o no registros, para validar si debo activar o no el boton Restaurar.. de lo contrario que lo active.. me explico?

ecfisa
05-10-2011, 00:01:51
Hola adsbernardo.

Suponiendo que tu campo se llame 'Baja', tu TButton 'btnBorrar' y el campo esté definido '0' para False y '1' para True, yo usaría el evento AfterScroll del TDataSet:

procedure TForm1.DataSetAfterScroll(DataSet: TDataSet);
begin
Button1.Enabled:= DataSet.FieldByName('Baja').AsInteger = 0;
end;



Saludos.

Edito: Si el campo está definido como Boolean tendrías que cambiar AsInteger = 0 por AsBoolean = False

asdbernardo
05-10-2011, 00:16:12
[QUOTE=ecfisa;414569]Hola adsbernardo.

Suponiendo que tu campo se llame 'Baja', tu TButton 'btnBorrar' y los campos estén definidos '0' para False y '1' para True, yo usaría el evento AfterScroll del TDataSet:

procedure TForm1.DataSetAfterScroll(DataSet: TDataSet);
begin
Button1.Enabled:= DataSet.FieldByName('Baja').AsInteger = 0;
end;



Gracias amigo, me agrada mas tu codigo para hacer el borrado, yo lo hago de otra forma.

Ehm, disculpa otra cosa como hago para que un tdbedit que tenga boolean de parametro, en este caso me trae TRUE y FALSE, como puedo decirle a el que Activado es = a true, y Desactivado = a false? tendra alguna caracteristica para renombrar lo que trae por un caption personalizado y no afectar lo que trae? no se si me explique

Saludos

ecfisa
05-10-2011, 00:27:18
Hola adsbernardo.

Guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php), punto 8:

Preguntas que no hay que hacer

He aquí algunos ejemplos de preguntas mal planteadas que seguramente nadie va a responder, por favor te pedimos que no hagas este tipo de preguntas.

1.- Tengo problemas con Delphi ¿puede alguno ayudarme?

2.- ¿Me podéis pasar el crack X?

Cómo ves la primera es insustancial, poco te van a poder ayudar, en cuanto a la segunda, no queremos que el foro se convierta en un lugar de piratas.

Tampoco debes realizar varias preguntas en un mismo hilo, para que te hagas una idea mejor te ponemos un ejemplito...

1.- ¿Cómo podría cambiar las propiedades de una carpeta y de unos archivos para convertirlos en ocultos?

2.- ¿Tiene Delphi alguna función para validar una cadena y saber si su formato es tipo hh:mm:ss?

Son dos temas totalmente distintos, debes abrir un hilo para cada una de ellas, por favor no hagas las dos preguntas en un mismo hilo.

Por lo que te ruego que crees un nuevo hilo con esta nueva pregunta.

Un saludo. :)

asdbernardo
05-10-2011, 00:30:35
Ok disculpa amigo. Gracias!

Casimiro Notevi
05-10-2011, 00:34:21
Y recuerda poner títulos descriptivos (http://www.clubdelphi.com/foros/guiaestilo.php) a tus preguntas, por favor.