我想单击dbgrid某条数据显示在edit中delphi
表中有三个字段:idnamesex全部显示在dbgrid中;我想单击dbgrid的某条数据的时候相应的数据显示在edit中如下:withdata_m.ADOQ_chewe...
表中有三个字段:id name sex
全部显示在dbgrid中;
我想单击dbgrid 的某条数据的时候相应的数据显示在edit中
如下:
with data_m.ADOQ_chewei do
begin
close;
sql.Clear;
sql.Add('select * from manage');
open;
edit1.Text := fieldvalues['id'];
edit2.Text := fieldvalues['name'];
edit3.Text := fieldvalues['sex'];
end;
但是我单击其他行的时候它会自己跳到第一行?为什么呢?怎么实现?
文本框都是一直显示第一行的数据。 展开
全部显示在dbgrid中;
我想单击dbgrid 的某条数据的时候相应的数据显示在edit中
如下:
with data_m.ADOQ_chewei do
begin
close;
sql.Clear;
sql.Add('select * from manage');
open;
edit1.Text := fieldvalues['id'];
edit2.Text := fieldvalues['name'];
edit3.Text := fieldvalues['sex'];
end;
但是我单击其他行的时候它会自己跳到第一行?为什么呢?怎么实现?
文本框都是一直显示第一行的数据。 展开
3个回答
展开全部
先用adoquery连接数据库,然后在dbgrid上显示数据~~~之后在dbgrid的OnCellClick事件下加如下代码~~~~即可实现楼主想要的功能
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
with adoquery1 do
begin
Edit1.Text:=fieldbyname('id').AsString;
Edit2.Text:=fieldbyname('name').AsString;
Edit3.Text:=fieldbyname('sex').AsString;
end;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
with adoquery1 do
begin
Edit1.Text:=fieldbyname('id').AsString;
Edit2.Text:=fieldbyname('name').AsString;
Edit3.Text:=fieldbyname('sex').AsString;
end;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询