delphi 中的DBGRID列之间自动计算如何写程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 中的DBGRID列之间自动计算如何写程序相关的知识,希望对你有一定的参考价值。
各位高手帮帮忙啊 急需我在delphi 7 中使用dbgrid时 dbgrid有三列 前两列分别是dj,sl 这两列的数据从sql数据库提取出来 当我在第三列je列按回车时计算并显示当前行前两的计算数据 不做保存只是显示到dbgrid中 公式 je=dj*sl 谢谢了
双击DBGrid的关联数据集控件比如ADOQuery ,然后右击点【New Field...】来增加新的计算字段。记得把FieldType 设置为Calculated 。然后在ADOQuery的OnCalcFields事件里写代码:ADOQuery.FieldByName('HJ').AsFloat:= ADOQuery.FieldByName('dj').AsFloat * ADOQuery.FieldByName('sj').AsInteger 。 参考技术A vars1, 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
以上是关于delphi 中的DBGRID列之间自动计算如何写程序的主要内容,如果未能解决你的问题,请参考以下文章