delphi 中的DBGRID列之间自动计算如何写程序

2024-12-20 20:12:03
推荐回答(2个)
回答(1):

双击DBGrid的关联数据集控件比如ADOQuery ,然后右击点【New Field...】来增加新的计算字段。记得把FieldType 设置为Calculated 。然后在ADOQuery的OnCalcFields事件里写代码:ADOQuery.FieldByName('HJ').AsFloat:= ADOQuery.FieldByName('dj').AsFloat * ADOQuery.FieldByName('sj').AsInteger 。

回答(2):

var
s1, s2:string;
begin
if key=#13 then
begin
if(DBGridEh1.SelectedField.FieldName='dj')or(DBGridEh1.SelectedField.FieldName='sl')then
begin
try
strziduan1:=DBGridEh1.DataSource.DataSet.FieldValues['dj'];
strziduan2:=DBGridEh1.DataSource.DataSet.FieldValues['sl'];
DBGridEh41.DataSource.DataSet.FieldValues['xc_ je']:=floattostr((strToint (s1)*strTofloat(s2)));
except
showmessage('请将数据填写完整!');
exit;
end;
end;
end; 或者可以创建一个临时表,然后再给DBGrid