PDA

View Full Version : حرفه ای: ایجاد فیلدهای lookup در runtime



SReza1
یک شنبه 27 دی 1388, 14:54 عصر
چطور می‌توانم در runtime ، فیدهای Calculate و یا Lookup ایجاد کنم. فرقی نمی‌کنه از ADO یا BDE استفاده شه!
ضمنا محل نمايش در dbgrid است.
در واقع من مي‌خواهم عمل راست كليك روي يك نوع Dataset كه با گزينه New Field است را شبيه‌سازي كنم و كدشو بنويسم

سعید صابری
یک شنبه 27 دی 1388, 15:56 عصر
اينجا را ببين


http://barnamenevis.org/forum/showthread.php?t=194075

SReza1
دوشنبه 28 دی 1388, 09:47 صبح
ممنون minair2004

با اين كد هم مي‌توان از نوع lookup رو توليد كرد:
فقط نكته‌اي در اين خصوص است كه شما بايستي تمام فيلدهاي ديگر رو در dataset اضافه كنيد.
"
var
sfLook: TStringField;
begin
ADOTest.Active := False;
sfLook := TStringField.Create(ADOTest);

with sfLook do
begin
FieldName := 'Kala';
FieldKind := fkLookup;
Name := 'K';
DataSet := ADOTest;
LookupDataSet := ADODataSet2;
LookupKeyFields := 'BID_SysCode';
LookupResultField := 'BID_Caption';
KeyFields := 'Kala_BIDCode';
Lookup := True;
ADOTest.FieldDefs.Add(sfLook.Name, ftString, 100 , false);
end;

ADOTest.Active := True;
end;

سعید صابری
دوشنبه 28 دی 1388, 10:32 صبح
دقيقا همون كده كه اون از نوع محاسباتي بود اين از نوع lookup. البته ببخشيد من دقيق متوجه منظورت نشدم.