Campos booleanos en StringGrid con CheckBox
¡Hola de nuevo Delphinianos ...!
El motivo por el cual escribo, esque pretendo realizar la lectura de campos booleanos de una BD (SQL Server) y mostrarlos dependiendo su valor (True/False) en un StringGrid pintando un CheckBox que describa este status (Seleccionado/NoSeleccionado) respectivamente. He revisado ya algunos hilos entre ellos http://delphi.about.com/od/usedbvcl/l/aa082003a.htm y algunos hilos de este foro.Y he tomado algunas de las funcionalidades para pintar el checkbox, pero en una sola columna.Estoy en Delphi5. Lo que hasta ahorita llevo es cargar los valores de la tabla en el StrinGrid.Algunos de mis campos que son los booleanos me aparecen True/False en el StringGrid. Intenté crear un componente TCheckBox y asiganarlo de esta forma
El valor del campo asignado al StringGrid al debuguear si me lo está leyendo bien y entra a la condición true/false que corresponde pero ya cuando visualizo el resultado,el checkbox siempre aparece marcado. :confused::confused::confused: ¿Alguna sugerencia para poder visualizar este tipo de campos, de esta manera? :( o ¿Algún tip? Se agradece. Gracias por el interés, saluditos! |
|
Gracias!!
Hola, te agradezco tu atención e interés, ya eché un vistazo en el link y si me sirvió de algo. Ya me aparecen los checks marcados conforme a los datos de la BD.
Pero ahora tengo otra situacíon. ¿Cómo puedo trabajar con los eventos de los ChecksBox creados? Sin necesidad de vincular este control a un CheckBox ya existente.Me interesa, el OnClick. Porque creeé los checks por código...:S Creé el procedure, pero no me funciona.
Saludos! P.D. Estoy investigando por si encuentro alguna otra alternativa. Gracias! |
Hola de nuevo...
Bueno, he estado modificando mi codigo, para lograr lo que me he propuesto. Simulé la lectura de los campos booleanos de mi tabla al StringGrid con valores fijos, ya que esto ya lo he logrado.
*En el evento Create del Formulario es donde se realiza todo el proceso. *En el evento Clic del StringGrid eh puesto validaciones dependiendo del "status" del campo (True/False).Al darle Click "modifica" el valor del StringGrid si está en True lo pone en False, si está en False, lo pone en True. Pero es aqui donde me he perdido un poco en cuanto a referenciar al Check que va a cambiar de status, ya que siempre me cambia el status del ultimo check :( . No sé como hacer para que el check respectivo cambie su status al dar dblclick. Lo que llevo hasta el momento es esto:
Espero haberme dado a entender con lo que quiero y de verdad agradezco a quienes se interesen y sugieran =). Gracias! |
|
Cita:
Es como la reunión de contadores de chistes, que en lugar de contarse los chistes, se indicaban el número: Oye, conté el #15 y la gente se tronchaba de risa. Pues menos mal que no empezaste con el #28. Ja ja ja... sí, o el #31 :D:D:D Qué malo soy para los chistes :D |
Cita:
|
Pues yo lo hago así...
¡Hola!
Para leer el dato desde la tabla:
Para guardarlo en una tabla, el valor lo convierto a entero, lo agrego a la sentencia SQL que lo insertará y ¡listo!... Espero que te sirva. |
Ok!
Gracias por contestarme a ambos jiji, y sip, hice la respectiva busqueda en los hilos, y precisamente del hilo que me comentas al ultimo me sirvió porque de ahi pude hacer lo que llevo.
El problema ahora es que cada que ejecuto el programa, entra al evento
y en ese evento , aunque no le de click al CheckBox ya cuando se crea en mi forma, ambos eventos se ejecutan mostrandome los dos mensajes. Agregué la variable tag, al momento de crearlos.
Tambien probé lo del hilo:
Pero aqui siempre el tag me lo ponea en 0 cuando hago click en el checkbox creado. Estoy segura que ando haciendo algo mal. Pero no veo que? >_< Lo qe hago es dar click sobre el checkbox creado, pero no hace nada... y el tag me lo pone siempre en 0. Gracias.. :( |
Gracias tiammat
:D Esto lo tomaré en cuenta para el guardado de mis campos.Y pues necesito checkbox creados de forma dinamica para agregarlos al StringGrid. Ahorita solo tengo el problema en como definir el evento para cada uno cuando de click sobre los checkbox creados.
He seguido las ligas, y googleado, pero no me está respetando los eventos definidos para cada uno. Muchas gracias por tu interés. |
Esto no me sale X:
Buscando en los hilos, esto es lo que necesito, como bien explica Caro en una duda que ella tenía en las labels, lo mio con checkbox.
http://www.clubdelphi.com/foros/showthread.php?t=21387 Cita:
|
Una pregunta mas...
Bueno, ya he logrado resolver mi duda, gracias a quienes prestaron interés y contestaron.
Se agradece! :D |
Agrego solución.
Les comparto el código final, esperando que a alguien le sirva.
Y el error que tenia, del porque no me tomaba el tag... era por esta instrucción.
Y pues la lectura de la BD para estos campos de tipo booleano, se asignan al StringGrid por posicion (x,y). Y se hace la respectiva validación if campo.AsBoolean = True then...'1' else '0'. Saludos! |
La franja horaria es GMT +2. Ahora son las 04:14:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi