如何将记录字段从 dbgrid 显示到编辑框
How to display a record field from dbgrid to an editbox
我建立了一个访问数据库并将其与 ADOquery
和 Datasource
连接。我建立了一个名为 BagCost
的 table,其字段名称为 [=13] =] 和 cost
。我已将 DBgrid
附加到表单中并将其与 "Bagcost" table 链接。 Dbgrid
具有以下字段:
如何在运行时将 dbgrid 列的四个成本显示到不同的 editboxes
?
说明:
希望我理解正确。您需要做的是从四个记录中的每一个中读取数据。使用 First
和 Next
方法更改活动记录,Eof
方法测试活动记录是否是数据集中的最后一条记录。可选(对于大量记录),使用 DisableControls
和 EnableControls
方法来防止 data-aware 控件在每次活动记录更改时更新。
示例:
接下来是一个基本示例,它使用 AfterOpen
事件从查询的每条记录中读取字段值。
procedure TfrmMain.qryAfterOpen(DataSet: TDataSet);
begin
DataSet.DisableControls;
try
DataSet.First;
if not DataSet.Eof then Edit1.Text := DataSet.FieldByName('cost').AsString else Edit1.Text := 'Record not found';
DataSet.Next;
if not DataSet.Eof then Edit2.Text := DataSet.FieldByName('cost').AsString else Edit2.Text := 'Record not found';
DataSet.Next;
if not DataSet.Eof then Edit3.Text := DataSet.FieldByName('cost').AsString else Edit3.Text := 'Record not found';
DataSet.Next;
if not DataSet.Eof then Edit4.Text := DataSet.FieldByName('cost').AsString else Edit4.Text := 'Record not found';
DataSet.First;
finally
DataSet.EnableControls;
end{try};
end;
我建立了一个访问数据库并将其与 ADOquery
和 Datasource
连接。我建立了一个名为 BagCost
的 table,其字段名称为 [=13] =] 和 cost
。我已将 DBgrid
附加到表单中并将其与 "Bagcost" table 链接。 Dbgrid
具有以下字段:
如何在运行时将 dbgrid 列的四个成本显示到不同的 editboxes
?
说明:
希望我理解正确。您需要做的是从四个记录中的每一个中读取数据。使用 First
和 Next
方法更改活动记录,Eof
方法测试活动记录是否是数据集中的最后一条记录。可选(对于大量记录),使用 DisableControls
和 EnableControls
方法来防止 data-aware 控件在每次活动记录更改时更新。
示例:
接下来是一个基本示例,它使用 AfterOpen
事件从查询的每条记录中读取字段值。
procedure TfrmMain.qryAfterOpen(DataSet: TDataSet);
begin
DataSet.DisableControls;
try
DataSet.First;
if not DataSet.Eof then Edit1.Text := DataSet.FieldByName('cost').AsString else Edit1.Text := 'Record not found';
DataSet.Next;
if not DataSet.Eof then Edit2.Text := DataSet.FieldByName('cost').AsString else Edit2.Text := 'Record not found';
DataSet.Next;
if not DataSet.Eof then Edit3.Text := DataSet.FieldByName('cost').AsString else Edit3.Text := 'Record not found';
DataSet.Next;
if not DataSet.Eof then Edit4.Text := DataSet.FieldByName('cost').AsString else Edit4.Text := 'Record not found';
DataSet.First;
finally
DataSet.EnableControls;
end{try};
end;