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 03-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Como Asignar los campos a un DbGrid en tiempo de ejecucion

Buenas noches

tengo una consulta

como puedo hacer para que un dbGrid tome los campos de una consulta u otra?

Ejemplo

Código Delphi [-]
 
StrSql := 'Select Campo1, Campo2, Campo3 From Tabla'

entonces si el dbgrid esta asociado al dataSource del query asumira los campos Campo1, Campo2, Campo3

como podria hacer para que si la consulta tuviera otros campos el dbGrid los asuma

Código Delphi [-]
 
StrSql := 'Select CampoA, CampoB, CampoC From Tabla'

espero haberme echo entender
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 03-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
la idea que tengo es la siguiente :

como el query puede tener diferentes campos (porque es una cadena armada), pense que podria hacer un for para recorrer los campos y luego hacer algo asi como

dbgrid1.Columns[0].value := Campo del query [0]


no se si es valida mi idea
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 03-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola oscarac.

Si no te entiendo mál, se hace automáticamente siempre que no hayas definido las columnas con el editor de columnas y los campos pertenezcan a la misma tabla.

Por ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with IBQuery1 do
  begin
    Close;
    SQL.Text:= 'SELECT CAMPO1, CAMPO2 FROM TABLA';
    Open;
  end;
end;
El DBGrid mostrará CAMPO1 y CAMPO2.

Y con:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with IBQuery1 do
  begin
    Close;
    SQL.Text:= 'SELECT CAMPO3, CAMPO4 FROM TABLA';
    Open;
  end;
end;
El DBGrid mostrará CAMPO3 y CAMPO4.

Pero no sé si es eso lo que buscas.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 03-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
encontre que haciendo

Código Delphi [-]
 
DBGrid1.Columns.RebuildColumns;
podria cambiar los campos del dbgrid...

y como podria hacer para que los campos (persistentes) en el query, puedan cambiar y pueda tener nuevos campos persistentes
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 03-06-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Campos —objetos TField— siempre vas a tener.

Pero si quieres que haya variables individuales para cada uno (una de las principales cosas que se consiguen con los campos persistentes) y que dichas variables cambien en tiempo de ejecución por las que correspondan a la consulta en turno, temo que eso no se podrá hacer.

Explica con más detalle qué objetivo hay detrás de tener campos persistentes "cambiantes".

Saludos.

Al González.
Responder Con Cita
  #6  
Antiguo 03-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
lo que pasa es que estoy haciendo un reporte que me muestra detalle o resumen de una informacion, entonces tengo un modulo que me migra la informacion en excel (para ello necesita de un dbgrid que lo tengo oculto en el form)

entonces queria solo utilizar un dbgrid y no 2 ( 1 para detalle y otro para resumen)

aunque por premura de tiempos tuve que usar 2 dbgrids
__________________
Dulce Regalo que Satanas manda para mi.....
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
Cómo puedo agregar campos a un objeto TADOTable en tiempo de ejecución? OscarBravo Tablas planas 3 21-01-2009 16:05:48
Como crear campos de lookup en tiempo de ejecución David Conexión con bases de datos 1 24-05-2007 16:33:01
actualizar campos tipo moneda en un dbgrid en tiempo de ejecucion Goyo SQL 1 29-08-2006 23:14:04
Modificar campos en un DBGrid en tiempo de ejecuciòn maravert Conexión con bases de datos 3 14-05-2006 08:37:41
Problema con DBGRiD y campos en Tiempo de ejecución EITB OOP 0 14-10-2004 17:59:17


La franja horaria es GMT +2. Ahora son las 14:29:38.


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