可以见这里:http://bbs.csdn.net/topics/390519799?page=1#post-395058726大侠们好,上面在窗体上的一个Edit控件上输入“王军”就会查询出王军相关字段的数据列表。同理,查询其他人也是。这个问题已经被大侠解决了。
问题是:
比如,输入王军,相关的三个字段“字段1、字段3、字段500”所有数据已经查询出来。但我是通过DBEdit控件录入人员数据的,这样就需要查询时DBEDIT控件也需要像字段1,字段3,字段500这样显示出来,这样就会显示出3个DBEdit控件,并且第1个DBEdit控件对应“字段1”,第2个DBEdit控件对应“字段3”,第3个DBEdit控件对应“字段500”。3个DBEdit控件出来后,我才好输入数据。思路基本是上面这些,不知大侠们如何实现,不可能一个人一个条件语句吧,那样太庞大了,最好是像动态查询那样。
另外,由于500个字段,用500个DBEdit控件好像太多了,或者有什么更好的办法实现也可以。当然,有办法总比没有的好哇!!!谢谢!
功能最基本的stringgrid,也可以在onkey事件里拦截,以达到某些cell不能录入的效果
用了DBEDIT并关联至字段。procedure TForm1.Button1Click(Sender: TObject);
var
Lables : TLabel;
Edits : TDBEdit;
i:integer;
begin
for i:=1 to self.adoquery1.FieldCount do begin //创建与字段数相同的数量
lables:=TLabel.Create(self);//创建标签并设置为字段名
lables.Top :=30*i;
lables.Left :=10;
lables.Width :=100;
lables.Height :=25;
lables.Parent :=self;
lables.Caption :=self.ADOQuery1.Fields[i-1].FieldName ;
lables.Name :='lable'+trim(inttostr(i));
lables.Visible :=true;
Edits:=TDBEdit.Create(self);//创建DBEDIT并关联至相关字段
Edits.Top :=30*i;
Edits.Left :=110;
edits.Parent :=self;
Edits.DataSource :=self.DataSource1;
Edits.DataField :=self.ADOQuery1.Fields[i-1].FieldName ;
Edits.Name :='edit'+trim(inttostr(i));
Edits.Visible :=true;
end;
end;
还有一个表里面500个字段的话应该考虑优化了吧。