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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2009
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Agregar Campo Calculado en Runtime - (Avanzado)

Resulta que yo armo una grilla dinamicamente segun el tipo y nombre de un campo que tomo de la respectiva tabla, para tal fin he diseñado ciertas funciones y procedimientos, de modo tal de indicar simplemente un Query y un grilla, y asi armarlo automaticamente y despreocuparme del tema. Me funciona perfecto y de mil maravillas. El tema está que en un caso en particular de una grilla, debo añadir un campo calculado, puesto a que, necesito calcular un valor al momento de la consulta (es un calculo, si bien no complejo, no lo puedo hacer directamente en la consulta).

Asi relleno mi grilla

Código Delphi [-]
procedure SQLToGrid(oQry : TZQuery; Grilla: TNxCustomGrid);
var Fields: Integer;
    Campo: String;
begin
  Grilla.Columns.Clear;
  Grilla.Color := clWhite;
  for Fields := 0 to oQry.FieldCount - 1 do
  begin
    Campo := oQry.Fields[Fields].DisplayName;
    SetColumna(Grilla,GetTipoCampoSQL(oQry,Fields),
                                      DeterminaNombreColumna(Campo),
                                      DeterminaAnchoColumna(Campo),
                                      true,
                                      EsVisible(Campo));
  end;
end;

El problema radica en que, si agrego los campos manualmente y luego el calculado, en la linea:

Código Delphi [-]
 
for Fields := 0 to oQry.FieldCount - 1 do

me tira error de que esta fuera de rango, pues claro, recorre un campo de más pero este no existe en la tabla, sino que es un calculado en el componente.

Como puedo resolver esto? alguna idea, ocurrencia, sugerencia y o crítica, serán bienvenidas.

Desde ya, muchas gracias.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
 



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
DBGrid... agregar un campo calculado...? BlueSteel Varios 4 05-02-2009 19:40:37
Agregar columnas al DBGrid en Runtime vladimirbp Varios 2 11-01-2007 01:01:46
Agregar elementos a un DBcomboBox (runtime) vinicc Conexión con bases de datos 2 26-08-2006 01:28:31
Mover y agregar controles en RunTime JXJ Varios 2 05-05-2005 02:16:04
Agregar un campo a una tabla paradox (runtime) sitrico Conexión con bases de datos 3 17-07-2003 00:14:11


La franja horaria es GMT +2. Ahora son las 14:58:41.


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