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 23-02-2007
loxod loxod is offline
Miembro
 
Registrado: feb 2007
Ubicación: Mexico
Posts: 45
Poder: 0
loxod Va por buen camino
crear un campo lookup de forma dinamica y mostrarlo en un dbgrid

Quiero crear un campo lookup de forma dinamica y mostrar este nuevo campo en un dbgrid.

Tengo el siguiente procedimiento


**************************************************************************************************** *****************************
Código Delphi [-]
Procedure TForm.AddCalcStringField(Table1, Table2: tDataset; fName,fDisplay:String;
                                           Size:Integer; Keyfield1, Result : String);
var
  f : TField;
  i : integer;
begin
  table1.Close;
  for i := 0 to table1.FieldDefs.Count - 1 do
    if table1.FindField(table1.FieldDefs[i].Name) = nil then
       table1.FieldDefs.Items[i].CreateField(table1);

  if table1.FindField(fName) <> nil then Exit;

  f := TStringField.Create(Table1);
  f.DisplayLabel := fDisplay;
  f.DisplayWidth := Size;
  f.fieldKind := fkLookup;
  f.FieldName := fName;
  f.Index := Table1.FieldCount;
  f.Keyfields:= Keyfield1;
  f.lookupDataSet:=table2;
  f.LookupKeyfields :=  Keyfield1;
  f.LookupResultField:=  Result;
  f.Name := Table1.Name+fName;
  f.Size := Size;

  f.Visible := True;
  f.DataSet := Table1;
  Table1.Open;
  f.Free;

  dbgrid.Columns.Add;
  dbgrid.Columns[Table1.FieldCount].FieldName := fName;
  dbgrid.Columns[Table1.FieldCount].Title.Caption :=fDisplay;
  dbgrid.Columns[Table1.FieldCount].Title.Alignment := taCenter;
  dbgrid.Columns[Table1.FieldCount].Title.Font.Style := [fsbold];
  dbgrid.Columns[Table1.FieldCount].Width := 100;

end;
**************************************************************************************************** *****************************

Cuando yo ejecuto la aplicacion el campo lookup no se muestra en el dbgrid.



Alguna idea de que es lo que esta mal.
Table1 y Table2 son generados en runtime



De antemano les agradesco su ayuda

Última edición por roman fecha: 24-02-2007 a las 04:05:33. Razón: Agregar etiqueta [delphi] para mejor legibilidad
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 con campo Lookup nancy OOP 0 25-01-2007 16:39:36
crear componentes de forma dinamica gustavoh .NET 2 24-08-2006 16:31:08
Crear variables de forma dinamica papulo PHP 3 24-11-2005 17:39:20
Crear BD de forma dinamica en Access Coco_jac Varios 2 02-06-2005 19:47:00
Crear Forms en forma DINAMICA Phacko Varios 4 11-09-2004 00:02:18


La franja horaria es GMT +2. Ahora son las 13:15:28.


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