Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Checkbox en un TJvDBGrid (https://www.clubdelphi.com/foros/showthread.php?t=29280)

Jesús Pena 17-01-2006 23:11:20

Checkbox en un TJvDBGrid
 
Tengo un TJvDBGrid con datos de una tabla, varias columnas de la misma tiene un valor 0 o 1 (True o False) y quisiera implementar el código necesario para mostrar un checkbox (o similar) activado o desactivado dependiendo del valor de cada una de las columnas, es decir, un check por cada columna. Si alguno puede postear el código se lo agradecería.

Gracias y saludos.:)

roman 17-01-2006 23:14:47

Busca en los foros. Varias veces se ha tratado el tema de colocar checkboxes en un dbgrid. Si el jvdbgrid es un derivado de dbgrid, muy posiblemente te sirva la misma técnica.

// Saludos

vtdeleon 17-01-2006 23:39:42

Saludos

Al final de esta pagina(botton) hay un o 2 enlaces (4ta y 5ta fila) sobre el tema

Delfino 18-01-2006 08:18:13

Con el JvDBGrid es muy sencillo, si el Field del Dataset es TBooleanField se hace automaticamente; siempre y cuando la propiedad BooleanEditor del JvDBGrid este a True. Si es un entero con valores 0 y 1, tienes q poner en el evento IsBooleanField del JvDBGrid lo siguiente:

Código Delphi [-]
Field := Grid.DataSource.DataSet.FieldByName('campo');

solo cambias lo de 'campo' por el tuyo,
en la ejecucion veras chekboxes en el JvDBGrid para este campo..

Jesús Pena 18-01-2006 12:42:32

Gracias por la solución
 
Con pequeños cambios que he tenido que realizar está todo funcionando. Gracias.

Delfino 18-01-2006 21:36:09

q cambios exactamente?

Jesús Pena 19-01-2006 01:32:39

Uno sin importancia
 
Simplemente que en la base de datos tenia las columnas como numéricos de 1 (con valores 1 o 0) y simplemente lo que hice fue definir tantos campos calculados como columnas y mostrar esos campos calculados en el Grid para que tubiera esa funcionalidad.

Gracias por la ayuda.

Delfino 19-01-2006 11:36:31

No hace falta tener los campos calculados para ver checkboxes en JvDBGrid, solo un campo normal con valores 1,0 true,false o un campo tipo TBooleanField..

mjjj 04-03-2009 02:31:23

Hola amigos, buscando en los foros encontre este que hace referencia al problema que estoi teniendo.

en un TJvDBgrid quiero agregar un Tcheckbox, utilizo el codigo que sugieren y funciona, pero lo que ocurre es que en todos los campos de tipo varchar me los cambia por un checkbox.

Yo solo le digo que modifique el campo "OK"

Código Delphi [-]
function TForm5.JvDBGrid1CheckIfBooleanField(Grid: TJvDBGrid; Field: TField;
  var StringForTrue, StringForFalse: string): Boolean;
begin
if grid.Row = 1 then Field := Grid.DataSource.DataSet.FieldByName('OK');
end;

Alguna idea para solucionar esto..

Muchas gracias amigos.

Saludos

Kipow 04-03-2009 03:25:11

Yo lo hago asi, en el evento CheckifBooleanField.
Código Delphi [-]

function Tfrm_MantTipoTransaccion.jvDBGTransaccionesCheckIfBooleanField(Grid: TJvDBGrid;
  Field: TField; var StringForTrue, StringForFalse: string): Boolean;
begin
  inherited;
  result := Field = dmINV.TTransaccionCOSTOS;
  StringForTrue := 'S';
  StringForFalse := 'N';
end;

mjjj 04-03-2009 14:36:43

No me funciona, puedes ser un poco mas claro con respecto al codigo.

Saludos.

Gracias


La franja horaria es GMT +2. Ahora son las 02:49:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi