DBGird中的列输入在输入过程中与其它列参与计算 我做的一个系统,有三个字段“水表1本月”,“水表2本月”,“水表本月”,水表本月=水表1本月+水表2本月我是在DBGrid中输入的,要求在输入时水表1本月、水表2本月时就自动计算出“水表本月”,请问如何处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实设计表不须要第三个字段(水表本月)可以在ADOQuery(Query)中添加一个计算字段'水表本月',类型为Float,在CalcFields写代码:procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);begin ADOQuery1.FieldByName('水表本月').AsFloat:= ADOQuery1.FieldByName('水表1本月').AsFloat +ADOQuery1.FieldByName('水表2本月').AsFloat;end;***建表尽量别用中文*** 或者在字段onChange事件中计算:aMonth,bMonth,cMonth分别表示:水表本月,水表1本月,水表2本月cMonthChange指向bMonthChangeg事件,就不须要重复写代码了procedure TForm1.ADOQuery1bMonthChange(Sender: TField);beginADOQuery1.FieldByName('cMonth').AsFloat:= ADOQuery1.FieldByName('cMonth').AsFloat +ADOQuery1.FieldByName('bMonth').AsFloat;end; 可以在DBGrid 的DBGrid1ColEnter事件中加添加代码procedure TForm1.DBGrid1ColEnter(Sender: TObject);begin//do something;end; 求:vc++小源码转换DELPHI netbeui开发(netbios函数) 申请 网络模块斑竹一职 (5) 填充数据 把Tframe放入DLL中,在另一个程序的Form中插入 怎样用Delphi做一个(通过Internet)访问数据库的客户端软件? 删除出错? 怎樣通過數據感知控件來實現指定的數據格式寫入數據庫﹖ 错误信息 如何让程序的子窗体始终位于所有其它进程的最前端? 三层中关于ClientDataSet 存取图片的问题 小弟有个小问题
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
ADOQuery1.FieldByName('水表本月').AsFloat:= ADOQuery1.FieldByName('水表1本月').AsFloat
+ADOQuery1.FieldByName('水表2本月').AsFloat;
end;***建表尽量别用中文***
cMonthChange指向bMonthChangeg事件,就不须要重复写代码了procedure TForm1.ADOQuery1bMonthChange(Sender: TField);
begin
ADOQuery1.FieldByName('cMonth').AsFloat:= ADOQuery1.FieldByName('cMonth').AsFloat
+ADOQuery1.FieldByName('bMonth').AsFloat;
end;
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
//do something;
end;