procedure Tchangeuser.DBGrid1DblClick(Sender: TObject); begin if Query1.Active then begin edit1.Text:=DBGrid1.SelectedField.AsString; edit2.Text:=DBGrid1.SelectedField.AsString; DateTimePicker1.datetime:= DBGrid1.SelectedField.AsDateTime ; end; end; 这样的话DateTimePicker1会报错 而且edit1和edit2显示的内容一样了
也就是记录滚动嘛,在DBGrid对应的DataSet.AfterScroll事件中写代码控制:
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet); begin Edit1.Text := DataSet.FieldByName('显示字段').AsString; end;
同楼上,AfterScroll事件中写代码;
在DBGrid的OnClick事件中写,将DBGrid一行的值分别赋给对应的控件。
AfterScroll是什么事件啊没用 我用了 procedure Tchangeuser.DBGrid1DblClick(Sender: TObject); begin if Query1.Active then begin edit1.Text:=query1.FieldByName('username').AsString; edit2.Text:=query1.FieldByName('id').AsString; DateTimePicker1.datetime:= query1.FieldByName('joindatetime').AsDateTime; end; end; 这个事件可以了 就是双击那个麻烦 有别的事件可以用吗?
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin if Query1.Active then begin edit1.Text:=query1.FieldByName('username').AsString; edit2.Text:=query1.FieldByName('id').AsString; DateTimePicker1.datetime:= query1.FieldByName('joindatetime').AsDateTime; end; end;
if ADOQuery1.Active then
begin
edit1.Text:=DBGrid1.SelectedField.AsString;
end;
2\使用数据感知控件
DBEdit1
其他什么都不用写了
begin
if Query1.Active then
begin
edit1.Text:=DBGrid1.SelectedField.AsString;
edit2.Text:=DBGrid1.SelectedField.AsString;
DateTimePicker1.datetime:= DBGrid1.SelectedField.AsDateTime ;
end;
end;
这样的话DateTimePicker1会报错
而且edit1和edit2显示的内容一样了
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
Edit1.Text := DataSet.FieldByName('显示字段').AsString;
end;
我用了
procedure Tchangeuser.DBGrid1DblClick(Sender: TObject);
begin
if Query1.Active then
begin
edit1.Text:=query1.FieldByName('username').AsString;
edit2.Text:=query1.FieldByName('id').AsString;
DateTimePicker1.datetime:= query1.FieldByName('joindatetime').AsDateTime;
end;
end;
这个事件可以了
就是双击那个麻烦
有别的事件可以用吗?
begin
if Query1.Active then
begin
edit1.Text:=query1.FieldByName('username').AsString;
edit2.Text:=query1.FieldByName('id').AsString;
DateTimePicker1.datetime:= query1.FieldByName('joindatetime').AsDateTime;
end; end;
procedure TfrmCz.dsDataDataChange(Sender: TObject; Field: TField);
begin
edtCkdm.Text:=orData.fieldByName('Storcode').AsString;
edtKcSl.Text:=orData.fieldByName('Num').AsString;
edtHwjg.Text:=orData.fieldByName('Price').AsString;
edtHwdm.Text:=orData.fieldByName('Goodscode').AsString;
dtplksj.Date:=orData.fieldByName('Indate').AsDateTime;
edtczydm.Text:=orData.fieldByName('Empcode').AsString;
edtCzy.Text:=orData.fieldByName('Storempname').AsString;
edtHwmc.Text:=orData.fieldByName('Storgoodsname').AsString;end;