Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2007
andresenlared andresenlared is offline
Miembro
 
Registrado: oct 2003
Posts: 153
Poder: 21
andresenlared Va por buen camino
Question Recorrer los componentes de un DbCtrlGrid ?

Saludos.

Amigos necesito, recorrer los coponentes(Tlabels, TDbedit, etc) que coloque sobre el DbCtrlGrig para cambiar unas propiedades, teniendo como base un filtro que tengo en base de datos. Como el DBctrlBrif es una grilla y donde se colocan los componentes es una fila de la grilla, la propiedad Component unicamente me arroja un solo objeto.

Se puede o NO se puede??
Responder Con Cita
  #2  
Antiguo 17-07-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, para recorrer creo que seria asi, no he utilizado este componente, he puesto solo un dbEdit en el DBCtrlGrid.

Código Delphi [-]
 for i:=0 to DBCtrlGrid.PanelCount do
 begin
  DBCtrlGrid.PanelIndex:=i;
  showmessage(DBEdit1.Text);
 end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 17-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Caro, me parece que PanelCount cuenta el número de paneles que aparecen en el DBCtrlGrid, y que está determinado por RowCount y ColCount; pero creo que Andrés quiere recorrer las componentes dentro de cada panel.

Al parecer, esa única componente que ve Andrés, es de tipo TDBCtrlPanel y es la que, a su vez, contiene los otros controles, así que podría recorrer así:

Código Delphi [-]
var
  Panel: TDBCtrlPanel;
  I: Integer;

begin
  Panel := DBCtrlGrid1.Components[0] as TDBCtrlPanel;

  for I := 0 to Panel.ControlCount - 1 do
  begin
  {
    Aquí accedes a Panel.Controls[i]
  }
  end;

  DBCtrlGrid1.Refresh;
end;

El Refresh final es por si los cambios que se hacen son visuales (el color por ejemplo), de manera que se reflejen inmediatamente en todos los paneles.

Pero ojo, esto cambia todos los controles, es decir, de todos los paneles. Si lo que quieres es algo distinto según el registro de que se trate, no sé si pueda hacerse, pues aunque hay un evento OnPaintPanel, a juzgar po r la ayuda, parece que sólo sirve para pintar el fondo del panel.

// Saludos
Responder Con Cita
  #4  
Antiguo 17-07-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Entendido Roman, muchas gracias por la explicación
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 18-07-2007
andresenlared andresenlared is offline
Miembro
 
Registrado: oct 2003
Posts: 153
Poder: 21
andresenlared Va por buen camino
Thumbs up

Muchas gracias por su valiosa ayuda, entiendo lo que dice Roman, y la verdad es que necesito cambiar propiedades dependiendo de la informacion de un campo en base de datos. Utilice el evento Onpaintpane y me trabaja bien pero como dice roman es para pintar el panel, y los componentes del panel toman el ultimo cambio que se realice, no toma el cambio por panel...
saludos
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
Multiseleccion en un DBCtrlGrid johurgi Varios 0 25-08-2006 11:29:29
DBCtrlGrid y DBImage villegasmajano Gráficos 0 12-07-2006 18:49:30
Repintado de componentes en DBCtrlGrid. sur-se OOP 0 18-08-2005 18:44:58
Acerca del DBCtrlGrid lgarcia OOP 2 05-03-2005 00:04:59
DBLookupComboBox y DBCtrlGrid javiermorales OOP 1 07-05-2003 02:48:44


La franja horaria es GMT +2. Ahora son las 11:58:56.


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