var i: integer; begin for i := 0 to query.fieldcount - 1 do begin with tlabel.create(form) do begin parent := form; top := x; left := y; Name := 'Label'+IntToStr(i +1); Caption := query.fields[i].displayname; end; //在这里加入你需要调整的位置x,y with tedit.create(form)do begin parent := form; top := x; left := y; width := z; Name := 'Edit'+IntToStr(i +1); text := query.fields[i].asstring; end; end; end;
如果你非要使用Label或Edit的话,
在Dbgrid的OnColEnter事件中写如下功能的代码:
从记录集中读相应的值给Label.Label1.Caption := DbGrid1.DataSource.DataSet.Fields.FieldbyName("id").AsString;
i: integer;
begin
for i := 0 to query.fieldcount - 1 do
begin
with tlabel.create(form) do
begin
parent := form;
top := x;
left := y;
Name := 'Label'+IntToStr(i +1);
Caption := query.fields[i].displayname;
end;
//在这里加入你需要调整的位置x,y
with tedit.create(form)do
begin
parent := form;
top := x;
left := y;
width := z;
Name := 'Edit'+IntToStr(i +1);
text := query.fields[i].asstring;
end;
end;
end;