Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   CheckBox y campo Boolean (https://www.clubdelphi.com/foros/showthread.php?t=29778)

Nbull 01-02-2006 14:12:30

CheckBox y campo Boolean
 
Hola a Tod@s, estoy iniciandome en la programación de Delphi con MySql,hasta ahora habia trabajado con Access, y me surge un problema en MySql no tiene el tipo Boolean, he leido por hay que la gente lo hace con Int asignandole un 1 True y un 0 false. Hasta hay todo correcto.

El problema se me presenta cuando tengo un dbgrid que el usuario puede seleccionar el registro que desee y quiero que uno de los campos me marque en un checkbox si tiene o no tiene cd, he conseguido que se me marque por codigo cuando el usuario selecciona con el ratón un registro, pero si el usuario recorre el Grid con los cursores el checkbox no se me marca.

El codigo que tengo es:
Código Delphi [-]
procedure TFPrincipal.RxDBGrid1CellClick(Column: TColumn);
begin
 if (datasequipos.DataSet.FieldByName('Cdrom').AsInteger=1) then
  begin
   rbcd.Checked:=true;
  end
 else
  begin
   rbcd.Checked:=false;
  end;
end;
Como lo puedo hacer para que cuando el usuario se mueva por el grid con los cursores se me marque el checkbox si ese registro tiene en el campo Cdrom un 1.

Estoy trabajando con delphi 7 MySql 3.23 y componentes Zeos.El dbgrid es de las rx.

Gracias y perdonar las molestias que no hago nada más que postear preguntas y mas preguntas.

Un saludo.

Nbull 01-02-2006 16:34:53

Bueno Forer@s pues puedo responderme a mi mismo,era una tonteria, la solución que me ha resuelto el problema es poner un DbCheckBox asociarlo al campo int y en la propiedad ValueChecked poner un 1 y en la propiedad ValueUnchecked poner un 0.Asi ya me lo hace con los cursores tambien.:D

Un saludo.

JULIPO 01-02-2006 16:45:17

Me fucniona de la siguiente manera
 
Saludos cordiales mira lo que veo es que de la manera en que tienes escrito el codigo la unica manera de que los datos cambien es que le des click a la celda pero si navegas por ella no se estan actualizando los datos, la manera en que yo lo hago y me funciona es :

utilizando un dbcheckbox y asociarlo al campo int y en la propiedad ValueChecked poner un 1 y en la propiedad ValueUnchecked poner un 0

de manera que si navegas en el dbgrid los datos se actulizan como quieres.

espero te funcione recuerda que el dbcheckbox lo debes asociar a la tabla y al data field (datasource y al datafield)

julipo.


La franja horaria es GMT +2. Ahora son las 06:19:38.

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