Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-06-2003
DJ VMan DJ VMan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Iquique - Chile
Posts: 81
Poder: 21
DJ VMan Va por buen camino
Question CheckBox en un DBGrid

trabando con 1 y 0, osea, "boolean" en MySQL, como se puede llegar hacer una grilla (DBGRid) que muestre dichos valores pero que los muestre como checkbox?

Yo lo hice con ExDBGrid (gran componente), en el cual se puede "asociar " un componente fuera de la grilla, y que "actue" dentro de la grilla, en una columna seleccionada. El problema de esto, es que sólo se muestra el checkbox cuando entro en modo de edición (o inserción) en la columna del campo "boolean".

Pero la idea es que se vean (los checkboxes) siempre, en todo momento. Asi como lo hace el access con sus valores booleanos.
Responder Con Cita
  #2  
Antiguo 25-06-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
En mi web tienes una demo de como funciona el RxDbGrid y en él muestro como poner un check, eso si, con campos booleanos, pero cambiando un poco el código seguro que consigues hacerlo con 1 y 0
Responder Con Cita
  #3  
Antiguo 25-06-2003
DJ VMan DJ VMan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Iquique - Chile
Posts: 81
Poder: 21
DJ VMan Va por buen camino
si me funciona. Pero sólo para mostrar datos, cuando quiero editar me aparece el 1 o el 0 (dependiendo).

Sólo tube que modificar la siguiente linea:

DrawFrameControl(RxDBGrid1.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON, CtrlState[Column.Field.AsBoolean]);

por esta otra:

DrawFrameControl(RxDBGrid1.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON, CtrlState[(Column.Field.AsInteger=1)]);

por cierto, había visto cosas por el estilo en otros lugares, pero esta está mucho más fácil.

Si puedieras ayudarme ..... por favor....

Última edición por DJ VMan fecha: 25-06-2003 a las 22:51:06.
Responder Con Cita
  #4  
Antiguo 26-06-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Cita:
Posteado originalmente por DJ VMan
si me funciona. Pero sólo para mostrar datos, cuando quiero editar me aparece el 1 o el 0 (dependiendo).
Si, cierto, esto es ReadOnly. Como modificas/insertas los datos, en el mismo Grid o en una pantalla a parte?

Por cierto, supongo que esta linea de codigo tambien la habras modificado

Código:
if Column.Field.DataType = ftBoolean then
por esta otra (o algo parecido)

Código:
if Column.Field.DataType = ftInteger then
Responder Con Cita
  #5  
Antiguo 26-06-2003
DJ VMan DJ VMan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Iquique - Chile
Posts: 81
Poder: 21
DJ VMan Va por buen camino
en efecto, tambien cambié esa linea, pero no como lo hiciste tu. Tube que identificar el campo que quería a través de su nombre, si lo hacía como tu propones, me fallaban otros campos integer que tenía la tabla.

pero....

COMO SOLUCIONO EL PROBLEMA?

una pseudo solución fue ocupar la dbgrilla ExDBGrid, la cual tiene el mismo evento DrawColumnCell, que tu ocupas en tu ejemplo. Pero además este componente te permite "asociar" un componente externo a la grilla (en este caso el checkbox), y que actue dentro de ella.

Asi que uniendo ambas cosas, solucioné el problema .... a medias....pero solución al fin y al cabo. Asi que si alguien tiene otra...QUE LO DIGA! porque esta no me gusta mucho.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:57:30.


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
Copyright 1996-2007 Club Delphi