Mostrando postagens com marcador Criando um campo lookup em tempo de execução. Mostrar todas as postagens
Mostrando postagens com marcador Criando um campo lookup em tempo de execução. Mostrar todas as postagens

terça-feira, 16 de junho de 2009

Criando um campo lookup em tempo de execução

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.