المشاركات : 152
المواضيع 93
:
: 26
الإنتساب : Oct 2015
السلام عليكم
عندما ننشا حقول في clientdataset ونقوم بسحبها فهي تنشأ لنا dbcontrols بحسب الحقل.
السوال
هل يمكن فعل هذا وقت التنفيذ وكيف، او هل من افكار اخرى في حال تغير مسار datasource عن الجدول المنشأ وقت التصميم
المشاركات : 975
المواضيع 50
:
: 218
الإنتساب : Feb 2008
السلام عليكم
نعم يمكن ربط الـ DataSource وقت التنفيذ
PHP كود :
DBEdit1.DataSource := DataSource1;
DBEdit1.DataField := 'Field1';
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
المشاركات : 152
المواضيع 93
:
: 26
الإنتساب : Oct 2015
سلام
شكرا اولا،
ولكن المقصود انه في حال اضيف حقل وقت التنفيذ ان يقوم البرنامج بانشاء dbeditجديد لهذا الحقل
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
وعليكم السلام و رحمة الله
مثال
كود :
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;