首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DbGridEh 一个单元格的值改变时另一单元格的值随之改变解决办法

2012-06-19 
DbGridEh 一个单元格的值改变时另一单元格的值随之改变DbGridEh 一个单元格的值改变时另一单元格的值随之

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

[解决办法]
你可以直接操作adoquery的字段,这样因为grideh是绑定到数据集的,adoquery中的值变了,gri点中的值自动会变

比如 A B C 三列,修改A字段,要C字段跟着变

adoquery1.fieldbyname('C').asfloat = adoquery1.fieldbyname('A').asfloat * adoquery1.fieldbyname('B').asfloat

这样C列的值就会跟着变为 A*C的值
[解决办法]

探讨

我的DbGridEh绑定的是Datasource,是不是在Datasource的OnUpdateData中写事件?该怎么写

[解决办法]
每个字段的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;

热点排行