انشاء dbcontrols وقت التنفيذ
#1
السلام عليكم
عندما ننشا حقول في clientdataset ونقوم بسحبها فهي تنشأ لنا dbcontrols بحسب الحقل.
السوال
هل يمكن فعل هذا وقت التنفيذ وكيف، او هل من افكار اخرى في حال تغير مسار datasource عن الجدول المنشأ وقت التصميم
الرد
#2
السلام عليكم
نعم يمكن ربط الـ DataSource وقت التنفيذ
PHP كود :
  DBEdit1.DataSource := DataSource1;
  DBEdit1.DataField := 'Field1'; 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#3
سلام 
شكرا اولا،
ولكن المقصود انه في حال اضيف حقل وقت التنفيذ ان يقوم البرنامج بانشاء dbeditجديد لهذا الحقل
الرد
#4
وعليكم السلام و رحمة الله

مثال

كود :
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;
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم