Как создать поле Lookup во время выполнения приложения?
Материал из DRKB
Как создать поле Lookup во время выполнения приложения?[править | править код]
uses
Forms, Classes, Controls, StdCtrls, Db, DBTables, DBCtrls;
type
TForm1 = class(TForm)
Table1: TTable; // DBDemos customer table
Table2: TTable; // DBDemos orders table
Button1: TButton;
DBLookupComboBox1: TDBLookupComboBox;
DataSource1: TDataSource;
Table2CustNo: TFloatField; // CustNo key field object used for Lookup
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
with TStringField.Create(Table2) do
begin
FieldName := 'MyLookup';
FieldKind := fkLookup;
DataSet := Table2;
Name := Dataset.Name + FieldName;
KeyFields := 'CustNo';
LookUpDataset := Table1;
LookUpKeyFields := 'CustNo';
LookUpResultField := 'Company';
DbLookupCombobox1.DataField := FieldName;
DataSource1.DataSet := Dataset;
Table2.FieldDefs.Add(Name, ftString, 20, false);
end;
DbLookupCombobox1.DataSource := Datasource1;
Table1.Active := True;
Table2.Active := True;
end;
end.
Source: Взято из http://forum.sources.ru
ID: 00656