有个DBGrid1连接表table1,大致如下:
 姓名          语文(yw)  数学(sx)     总分(zf)
 张三          80        90           170
 李四          90        70           160
------------------------------------------------
现在的问题是这个表在dbgrid中编辑,当输入完yw,sx后怎样实现自动计算总分(zf)呢?先谢谢了

解决方案 »

  1.   

    定义一个计算字段
    在OnCaculate事件里写
      

  2.   

    在Fieldkind中选中fkCalculated
    在table的Events中找到计算的项目 
    procedure TForm1.Table1CalcFields(DataSet: TDataSet);
    begin
    table1zf.value=table1yw.value+tablesx.value;
    end;
    end.
      

  3.   

    在OnCaculate事件里写代码
    简单一点可以这样写:
       DBgrid1.fields[3].text:=strtoint(inttostr(dbgrid1.fields[1].text)+inttostr(dbgrid1.fields[2].text));
    很久没用delphi了,你试试这样行不行吧。(类型转换有没有写错我就不太清楚了,你自己试一下吧)