Buscar

Criando um campo lookup em tempo de execução

Código

Uses
Forms, Classes, Controls, StdCtrls, Db, DBTables, DBCtrls;
type
TForm1 = class(TForm)
Table1: TTable;
Table2: TTable;
Button1: TButton;
DBLookupComboBox1: TDBLookupComboBox;
DataSource1: TDataSource;
Table2Codigo: TFloatField; // Objeto campo chave código usado pelo lookup
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
Nome : string;
begin
with TStringField.Create(Table2) do
begin
FieldName := 'MeuCampoLookup';
FieldKind:= fkLookup;
DataSet := Table2;
Nome := Dataset.Name + FieldName;
KeyFields:= 'Codigo'; //Campo Chave
LookUpDataset:= Table1;
LookUpKeyFields:= 'Codigo'; //Campo Chave
LookUpResultField:= 'Nome'; //Resultado da campo lookup criado
DbLookupCombobox1.DataField:= FieldName;
DataSource1.DataSet:= Dataset;
Table2.FieldDefs.Add(Nome, ftString, 20, false);
end;
DbLookupCombobox1.DataSource:= Datasource1;
Table1.Active:= True;
Table2.Active:= True;
end;
end.

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Componentes
Adicionada dia: 11/06/03
Por: Felipe Monteiro
Visualizada: 9090 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009