DbGridEh 一个单元格的值改变时另一单元格的值随之改变

本文介绍在Delphi中如何通过设置DBGridEh控件的OnSetText事件,实现对数据网格中字段输入的实时响应与数据更新。具体示例展示了如何在用户完成字段输入并移动焦点时触发事件,进行数据格式化和计算,如将输入转换为特定格式的浮点数,并计算金额等于数量乘以单价。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你可以为每个字段设置OnSetText事件,这样在输入完后回车会移动时就会触发,或者在adoquery的beforepost中或afterpost中都可以
grid也提供了一些事件,也可以在某些条件下做这个事情

每个字段的onupdatedata设置一下呀,
  procedure Tjhd.DBGridEh1Columns8UpdateData(Sender: TObject;
  var Text: String; var Value: Variant; var UseText, Handled: Boolean);
begin
   if text='' then  text:='0';
   if ADOQuery2.FieldByName('spbm').Value='' then
     begin
        text:='0';
        exit;
     end
   else
     begin
        text:=formatfloat('0.######',strtofloat(text)) ;
        ADOQuery2.FieldByName('sl').Value:=text;
      adoquery2.fieldbyname('je').Value= adoquery2.fieldbyname('sl').Value* adoquery2.fieldbyname('dj')).Value;
     end;


金额=数量*单价,我自己的项目

end;

转载于:https://www.cnblogs.com/bwdblogs/p/10292084.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值