Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2007
Avatar de Nieto
Nieto Nieto is offline
Miembro
 
Registrado: nov 2007
Posts: 18
Poder: 0
Nieto Va por buen camino
Question Crear objetos dentro de otro objeto.

Buenas tardes,

Foro,

Una pregunta estoy tratando de hacer un Pagecontrol con "n" cantidad de Tabsheet (dinamico), esta parte ya lo puede hacer pero lo que no he podido hacer es asignarle a cada tabsheet un dbgrid tambien es dinamico.

Este el el codigo:
Código Delphi [-]
  with sk_Empresas do begin
       First;
       while not Eof do begin
           with TTabSheet.Create(self) do begin
                 Contador := Contador + 1;
                 PageControl := PageControlIngresos;
                 Caption := FieldByName('D_Empresa_Corta').AsString;
                 Name := FieldByName('K_Empresa').AsString;
                 Obj := TwwDBGrid.Create(Self);
                 Obj.Name := 'Gr'+Name;
                 PageControl.InsertControl(Obj);
                 Obj.Enabled := True;
                 Obj.Visible := True;
                 Obj.Align := alClient;
            end;
            Next;
       end;

El problema es que si me crea los dbGrid pero no en cada tabsheet creado.

Que me falta ???

Última edición por jhonny fecha: 28-11-2007 a las 20:32:13. Razón: Colocar etiquetas DELPHI
Responder Con Cita
  #2  
Antiguo 28-11-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Una vez creas tu DBGrid, le asignas a su propiedad Parent el TabShet en cuestion y listo .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 28-11-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
No estoy muy al tanto de como funciona el InserControl del Pagecontrol, pero deberias asignarle la propiedad parent del dbgrid el TabSheet que deseas que pertenezca

yo lo hago asi:

Código Delphi [-]
tt := TTabSheet.Create(Self);
              tt.PageControl := Self;
              tt.Caption := slSections.Strings[nIdx];
              sg := TStringGrid.Create(self);
              sg.Parent := tt;
              sg.Align := alClient;
              sg.ColCount := 2;
              sg.RowCount := slKeys.Count + 1;
              sg.ColWidths[0] := sg.Width div 4;
              sg.ColWidths[1] := (sg.Width div 4) * 3;
              sg.Cells[0,0] := 'RUTA: ';
              sg.Cells[1,0] := cArchivo;
              sg.Options := [goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goEditing];
              sg.Name := 'sg' + InttoStr(nIdx);

Si te interesa el codigo descarga el componente inieditor de mi pagina
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 28-11-2007
Avatar de Nieto
Nieto Nieto is offline
Miembro
 
Registrado: nov 2007
Posts: 18
Poder: 0
Nieto Va por buen camino
Gracias, EduarCol, ya me funciono.

Otra duda como le hago para liberarlos de memoria o automaticamente se liberan.

Saludos;
Responder Con Cita
  #5  
Antiguo 28-11-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Checate el owner, cuando se destruye el owner se destruye los controles que le pertenecen. Si lo colocas en nil debes destruirlo tu
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 29-11-2007
Avatar de Nieto
Nieto Nieto is offline
Miembro
 
Registrado: nov 2007
Posts: 18
Poder: 0
Nieto Va por buen camino
Una pregunta nuevamente Eduarcol,

Como puedo asignarle ahora un datasource diferente a cada dbgrid.

Tambien necesito crearla al momento de generar el tabsheet, el dbgrid y ahora asignarle el datasource al dbgrid.

Cabe mencionarte que este forma me genera un reporte de presupuestos por empresa por eso creo un tabsheet por cada empresa.

Otra pregunta abusando de tu sabiduria con todo respeto, como puedo exportar todas las hojas del pagecontrol a una hoja de excel con todas sus pestañas.

Gracias por tu ayuda
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
¿Puedo usar un objeto de la VCL.NET en otro entorno de desarrollo? sarackganda .NET 2 01-07-2005 16:11:50
Utilizar propiedad dentro de un objeto senpiterno Varios 4 21-04-2004 19:53:32
Poner en tiempo ejecución un objeto dentro de cesar_picazo Varios 1 27-03-2004 17:25:32
colocar un objeto dentro de un StringGrid oneromm Varios 2 27-12-2003 14:45:47
Un componente dentro de otro. Tonio OOP 9 12-11-2003 00:44:12


La franja horaria es GMT +2. Ahora son las 18:12:34.


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