dbgrideh批改单价和数量 自动计算金额
dbgrideh修改单价和数量 自动计算金额
dbgrideh修改单价和数量 键盘弹起 自动计算金额
------解决思路----------------------
grid_e_sub就是你的dbgrideh,q_e_sub就是adoquery,
在grid_esub的datasource控件的onUpdateData事件上加上下面的代码
with grid_E_sub do
begin
if not (q_e_sub.State in [dsInsert, dsEdit]) then q_e_sub.Edit;
field_name:=UpperCase(SelectedField.FieldName);
if (field_name='T_PRICE') then //T_price为价格
begin
Fields[FieldColumns['t_sums'].index].AsVariant:=Fields[FieldColumns['nums'].index].AsVariant*Fields[FieldColumns['t_price'].index].AsVariant;
end;
if (field_name='nums') then //nums为价格 t_sums为金额字段
begin
Fields[FieldColumns['t_sums'].index].AsVariant:=Fields[FieldColumns['nums'].index].AsVariant*Fields[FieldColumns['t_price'].index].AsVariant;
end;
end;
grid_e_sub控件的onColExit事件中也填上上面的代码,就可以了。
你试试。
dbgrideh修改单价和数量 键盘弹起 自动计算金额
------解决思路----------------------
grid_e_sub就是你的dbgrideh,q_e_sub就是adoquery,
在grid_esub的datasource控件的onUpdateData事件上加上下面的代码
with grid_E_sub do
begin
if not (q_e_sub.State in [dsInsert, dsEdit]) then q_e_sub.Edit;
field_name:=UpperCase(SelectedField.FieldName);
if (field_name='T_PRICE') then //T_price为价格
begin
Fields[FieldColumns['t_sums'].index].AsVariant:=Fields[FieldColumns['nums'].index].AsVariant*Fields[FieldColumns['t_price'].index].AsVariant;
end;
if (field_name='nums') then //nums为价格 t_sums为金额字段
begin
Fields[FieldColumns['t_sums'].index].AsVariant:=Fields[FieldColumns['nums'].index].AsVariant*Fields[FieldColumns['t_price'].index].AsVariant;
end;
end;
grid_e_sub控件的onColExit事件中也填上上面的代码,就可以了。
你试试。