Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema al personalizar un stringGrid (https://www.clubdelphi.com/foros/showthread.php?t=68529)

pablopessoa 18-06-2010 21:38:32

Problema al personalizar un stringGrid
 
Hola a todos!
Estoy haciendo un form para personalizar grillas. El form tiene una property de tipo TADOTable al que le paso el AdoTable que quiero personalizar.
La idea es : yo estoy mostrando los datos es un dbgrid pero quiero configurar que campos se mostraran del dbgrid y que nombre debe aparecer en el titulo del dbgrid.
Para esto puse un PopMenu en el dbgrid que me abre un form donde tengo un stringGrid que se carga con tres columnas. La primer columna se llena con los titulos del dbgrid ( los fieldName de los fields del adotable), la segunda columna es editable y se usa para cambiar el titulo ( modificar el DisplayLabel del field) y la tercer columna muestra un checkbox que al tildarlo significa que se mostrara ese field en el dbgrid.
Hasta ahora lo pude hacer correctamente, el codigo que utilice para armarlo es este (se los dejo por si a alguno le sirve):
Código Delphi [-]
procedure TConfigurarGrilla.FormActivate(Sender: TObject);
var
    i:integer;
    b:TCheckBox;
begin
     with grilla do
     begin
        grilla.RowCount:= dataTable.FieldCount;
        Cells[0,0] := 'Nombre del campo';
        Cells[1,0] := 'Nombre a Mostrar';
        Cells[2,0] := 'Visible';
        for I := 1 to dataTable.FieldCount-1 do
        begin
            Cells[0,i]:= dataTable.Fields.Fields[i].FieldName;
            b:=TCheckBox.Create(self);
            b.Name:= dataTable.Fields.Fields[i].FieldName;
            b.Parent:=grilla;
            b.Caption:='';
            b.Margins.Left:=5;
            b.BoundsRect := grilla.CellRect(2,i);
        end;
     end;
end;

Pero el problema que tengo es que los checkbox no se quedan en "check" cuando les hago click, es decir, le hago click al combobox y se pone en "check" pero no lo mantiene.
Alguno podra explicarme a que se debe y como lo puedo solucionar?

Muchas Gracias!

BrunoBsso 19-06-2010 01:29:39

¿Será porque cada vez que se dispara el OnActivate del form ConfigurarGrilla, creas el checkbox con la misma variable?
Pregunto porque no estoy seguro, pero me suena a eso.
Acordate que el OnActivate es diferente del OnCreate.

pablopessoa 19-06-2010 19:57:30

Hola y gracias por responder!!
He probado meter el codigo en el evento OnCreate del formulario pero hace lo mismo.
De todos modos gracias por el interes.
Saludos!


La franja horaria es GMT +2. Ahora son las 11:29:22.

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