PDA

Ver la Versión Completa : Checkbox que devuelva tres valores


Tecnofacil
03-11-2016, 12:45:05
Buenos días equipo.
Ando en busca de un DBCheckbox que me permita obtener tres valores, (ya que el Checkbox tiene tres estados; Checked, Grayed, Unchecked). El DBCheckbox que uso solo me permite cambiar el valor devuelto de Checked, (= 1 o True); y Uncheked, (= 0 o False). Supongo que debe haber algún componente asi.
Básicamente lo que tengo es un relevamiento de campo con unas 50 preguntas donde cada pregunta tiene tres posibles respuestas; Bueno, Regular, malo. Lo estoy haciendo con tres RadioButtons en un Groupbox pero se hace grande la pantalla, (Serian 50 Groupbox), ademas de tener que ponerle código a cada RadioButton.
Desde luego que si alguien tiene alguna idea mejor sera bienvenida.!!!:-|

Neftali [Germán.Estévez]
03-11-2016, 13:23:32
ya que el Checkbox tiene tres estados; Checked, Grayed, Unchecked). El DBCheckbox que uso solo me permite cambiar el valor devuelto de Checked, (= 1 o True); y Uncheked, (= 0 o False). Supongo que debe haber algún componente asi.

El TDBCheckBox posee una propiedad que activa el tercer estado (en el caso de NULO) llamada AllowGralled, que por defecto está a False (es decir, que no se permite).
Si la activas, deberías tener accesible el tercer estado.

Tecnofacil
03-11-2016, 20:38:21
Gracias Neftali, efectivamente puedo "ponerlo en gris", pero mi sueño era que me devolviera automáticamente un valor mas, o sea, que no necesitara escribir código, simplemente que me de la opción de asignarle un valor mas en el Object inspector, pero solo puedo asignarle valores a "ValueChecked" y "ValueUnChecked".
Seguiré con mis Groupbox y radioButtons

roman
03-11-2016, 21:12:55
¿Por qué no usas un DBRadioGroup?

LineComment Saludos

Tecnofacil
04-11-2016, 20:18:16
Genio!!! Gracias Roman, no me había fijado en ese componente. justo lo que necesito. Le agrego las opciones que quiero, (Items) y los valores para cada Opción (Values). Sabia que había algo así pero no lo encontraba y pase mil veces por el jaja.
Gracias chicos.