[Lazarus-es] CheckBox en TDBGrid

Paola Bruccoleri pbruccoleri en adinet.com.uy
Vie Jun 3 19:47:40 CEST 2011


El 03/06/2011 02:37 p.m., Jesus Reyes escribió:
>
> "Normalmente" un checkbox se utiliza para indicar dos estados, marcado o desmarcado, lo cual esta determinado por los valores de ValueChecked y ValueUnchecked, si para un nuevo registro el valor del campo es NULL el checkbox se mostrara en un tercer estado que es como ya dijiste un checkbox marcado pero deshabilitado.
>
> Se me ocurren 3 soluciones:
>
> 1. Crear un evento OnNewRecord en el Dataset asociado al dbgrid, ahí puedes inicializar los valores de los campos que desees, en este caso podrías poner por defecto el valor correspondiente a ValueUnchecked.
>
> 2. Crear un evento OnUserCheckboxBitmap en el dbgrid, de tal manera que cuando tal evento se active teniendo en el parametro CheckedState=cbGrayed regresemos un bitmap identico al utilizado para CheckedState=cbUnChecked
>
> 3. Podría agregarle a TColumn una propiedad que nos indique que un valor NULL sea siempre considerado como UnChecked, creo que esta solución seria la mas fácil para los usuarios pues se haría en tiempo de diseño, también no requeriría cambiar los datos de NULL a algún valor como en el caso 1). Lo único es que necesitaría algún tiempo para implementar esta opción pues de momento aun me encuentro algo ocupado en otras cosas.
>
> Saludos a todos.
>
> Jesús Reyes A.
Hola Jesús!
una alegría volverte a leer!
cuando tenga tiempo probaré tb tus sugerencias; solo hice algunas 
pruebas pero con un dateedit dentro del grid y no pude lograr que me 
funcionara correctamente, o quizás no lo supe usar... por tanto, tuve 
que hacerlo de otra manera (a lo tradiconal, usando un form para editar 
los datos...)
Algún tip para esto?
muchas gracias
chauuuuuuuuu






More information about the Lazarus-es mailing list