delphi4arab منتديات دلفي للعرب
انشاء dbcontrols وقت التنفيذ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : انشاء dbcontrols وقت التنفيذ (/showthread.php?tid=10808)



انشاء dbcontrols وقت التنفيذ - jeanjamil - 01-05-2020

السلام عليكم
عندما ننشا حقول في clientdataset ونقوم بسحبها فهي تنشأ لنا dbcontrols بحسب الحقل.
السوال
هل يمكن فعل هذا وقت التنفيذ وكيف، او هل من افكار اخرى في حال تغير مسار datasource عن الجدول المنشأ وقت التصميم


RE: انشاء dbcontrols وقت التنفيذ - S.FATEH - 01-05-2020

السلام عليكم
نعم يمكن ربط الـ DataSource وقت التنفيذ
PHP كود :
  DBEdit1.DataSource := DataSource1;
  DBEdit1.DataField := 'Field1'; 



RE: انشاء dbcontrols وقت التنفيذ - jeanjamil - 02-05-2020

سلام 
شكرا اولا،
ولكن المقصود انه في حال اضيف حقل وقت التنفيذ ان يقوم البرنامج بانشاء dbeditجديد لهذا الحقل


RE: انشاء dbcontrols وقت التنفيذ - Lam.Abdeldjalil - 10-05-2020

وعليكم السلام و رحمة الله

مثال

كود :
var   I : Integer;   dbedt : TDBEdit;   dbmemo : TDBMemo;   lbl : TLabel; begin for I := 0 to ClientDataSet1.Fields.Count-1 do begin   if ClientDataSet1.Fields[i].DataType=ftMemo then   begin     lbl := TLabel.Create(self);     lbl.Caption:=ClientDataSet1.Fields[i].FieldName;     lbl.Top:=i*50;     lbl.Left:=50;     lbl.Parent:=self;     lbl.Visible:=true;     dbmemo := TDBMemo.Create(self);     dbmemo.DataSource:=DataSource1;     dbmemo.DataField:=ClientDataSet1.Fields[i].FieldName;     dbmemo.Top:=lbl.Top+20;     dbmemo.Left:=50;     dbmemo.Parent:=self;     dbmemo.Visible:=true;   end   else   begin     lbl := TLabel.Create(self);     lbl.Caption:=ClientDataSet1.Fields[i].FieldName;     lbl.Top:=i*50;     lbl.Left:=50;     lbl.Parent:=self;     lbl.Visible:=true;     dbedt := TDBEdit.Create(self);     dbedt.DataSource:=DataSource1;     dbedt.DataField:=ClientDataSet1.Fields[i].FieldName;     dbedt.Top:=lbl.Top+20;     dbedt.Left:=50;     dbedt.Parent:=self;     dbedt.Visible:=true;   end; end;