Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up Tener una o varias columnas de ComboBox's en un stringGrid

Hola amigos del foro quisiera tener un stringGrid con una o varias columnas de comboBox's donde el usuario pueda elegir opciones.
No se si ya se tratado este asunto pues he buscado el foro pero no he podido encontrar una solucion al asunto.
Espero que puedan ayudarme..
Saludos......
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 06-12-2008 a las 18:22:37.
Responder Con Cita
  #2  
Antiguo 06-12-2008
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 18
Cañones Va por buen camino
Hola.
Mira en DBGrid es la propiedad Picklist de la columna, pero no se en stringGrid.
Pero si el dbgrid trabaja con una base y los datos del combo son de la base es de otra manera.

Saludos.
Responder Con Cita
  #3  
Antiguo 08-12-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up

Ok Cañones , ya probè tu opcion que me distes especialmente lo complementé con esta pagina y funciona;pero al parecer solo para DBGrids y no asi para StringGrid.
Yo estoy tratando de poner ComBox's en los StringGrid y tengo el siguiente codigo:
Código Delphi [-]
procedure TForm1.robertito1Click(Sender: TObject);
const Filas=5;
var
L :Array[1..Filas]of TComboBox;
i,j:Integer;
begin
for i :=1  to Filas do
    begin
        L[i]:=TComboBox.Create(self);
        L[i].Parent:=StringGrid1;
        L[i].BoundsRect:=StringGrid1.CellRect(1,i);
             for  j:=1  to 10 do  //esto para rellenar los itenes
                   L[i].Items.Add('Opcion:'+IntToStr(j));
    end;

end;
El problema es que cuando quiero desplegar los itenes de los ComboBox's no se ven encima del StringGrid, pero estan cargados, pueden probarlo pulsado las teclas hacia abajo o arriba.
Si alguien pudiera darme una manito de cual es mi error o sugerirme otra solucion, estaria muy agradecido.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #4  
Antiguo 10-12-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Hola, con Delphi 2007 funciona bien. Los menus aparecen por encima del StringGrid.

Saludos.
Responder Con Cita
  #5  
Antiguo 10-12-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Red face

Pero en Delphi 7 no me funciona bien ,se ve bien los ComboBox's pero cuando le doy click en uno de ellos ,los itenes no se ven.....¿Que podra ser?¿Y como soluciono esto? .
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #6  
Antiguo 13-12-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up

Al parecer nadie se ha topado con este problema...puede ser que no tenga solucion...
Entonces me gustaria ,si alguien conoce un buen componente que haga lo que estoy necesitando....les seria muy agradecido.......
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 23-12-2008
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
lo arreglastes?
yo tengo el mismo problema
los items del combobox me aparecen por detrás.
Responder Con Cita
  #8  
Antiguo 23-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
No había visto este hilo. No pongas el padre del combo al stringgrid, intenta que el padre sea el Form y si acaso haces un combo.bringToFront para traerlo al frente.

Lo que intento decir es que simules que el combo esté dentro del grid cambiando su tamaño como bien haces, pero que en realidad pertenezca al Form.
Edito: codigo sucio pero funcional:
Código Delphi [-]
const Filas=5;
var
L :Array[1..Filas]of TComboBox;
i,j:Integer;
begin
stringgrid1.DefaultRowHeight := 21;
for i :=1  to Filas do
    begin
        L[i]:=TComboBox.Create(self);
        L[i].Parent:=self;
        l[i].Items.CommaText:= 'pepe,antonio,jose';
        //l[i].BringToFront;
        l[i].Left := stringgrid1.Left + stringgrid1.cellrect(1,i).Left+1;
        l[i].Top := stringgrid1.Top +stringgrid1.cellrect(1,i).top+1;
        l[i].Width:=  stringgrid1.cellrect(1,i).Right
                      - stringgrid1.cellrect(1,i).Left;

        // esto no funciona, ya que el combo mantiene su alto según
        // la fuente que tenga puesta, así que el alto de las celdas tendrás
        // que ajustarlo al alto de un combo,
//        l[i].Height :=stringgrid1.cellrect(1,i).Bottom
//                      - stringgrid1.cellrect(1,i).Top;
             for  j:=1  to 10 do  //esto para rellenar los itenes
                   L[i].Items.Add('Opcion:'+IntToStr(j));
    end;

end;
SAludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 23-12-2008 a las 13:22:03.
Responder Con Cita
  #9  
Antiguo 23-12-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Gracias Lepe...
Me quedó de esta forma:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
const Filas=20;//Mi StringGrid es de 21 filas ,una es para el titulo
var
L :Array[1..Filas]of TComboBox;
i,j:Integer;
begin
StringGrid1.DefaultRowHeight:=19;//para que se vean bien pegadito los ComboBox al StringGrid.
for i :=1  to Filas do
    begin
        L[i]:=TComboBox.Create(self);
        L[i].Parent:=self;
        L[i].Width:=stringgrid1.DefaultColWidth;
        L[i].Height :=stringgrid1.DefaultRowHeight;
        L[i].Left := stringgrid1.Left + stringgrid1.cellrect(1,i).Left+1;
        L[i].Top := stringgrid1.Top +stringgrid1.cellrect(1,i).top+1;
             for  j:=1  to 10 do  //esto para rellenar los itenes
                   L[i].Items.Add('Opcion:'+IntToStr(j));
    end;

end;
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Primera columna y fila de un StringGrid gironella OOP 3 01-10-2008 09:42:30
Hacer readonly una columna en stringgrid zcatzz Varios 5 26-09-2007 16:59:50
Como eliminar columna se un StringGrid gilberto_1126 OOP 1 29-01-2007 20:31:51
StringGrid con totales por columna xxxFALKORxxx Varios 0 10-01-2005 22:14:52
Como ocultar una columna de un StringGrid? neon OOP 10 26-07-2004 09:07:08


La franja horaria es GMT +2. Ahora son las 01:53:12.


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