Delphi DBGridEh 自动计算金额和单价
在Delphi中,可以使用OnEditChange事件来实现输入数量和单价时自动计算金额,以及输入数量和金额时自动计算单价的功能。
以下是示例代码:
procedure TForm1.DBGridEHEditingDone(Sender: TObject);
var
Quantity, Price, Amount: Double;
begin
// 计算金额
if (DBGridEH.DataSource.DataSet.FieldByName('Quantity').AsString <> '') and
(DBGridEH.DataSource.DataSet.FieldByName('Price').AsString <> '') then
begin
Quantity := DBGridEH.DataSource.DataSet.FieldByName('Quantity').AsFloat;
Price := DBGridEH.DataSource.DataSet.FieldByName('Price').AsFloat;
Amount := Quantity * Price;
DBGridEH.DataSource.DataSet.FieldByName('Amount').AsFloat := Amount;
end;
// 计算单价
if (DBGridEH.DataSource.DataSet.FieldByName('Quantity').AsString <> '') and
(DBGridEH.DataSource.DataSet.FieldByName('Amount').AsString <> '') then
begin
Quantity := DBGridEH.DataSource.DataSet.FieldByName('Quantity').AsFloat;
Amount := DBGridEH.DataSource.DataSet.FieldByName('Amount').AsFloat;
Price := Amount / Quantity;
DBGridEH.DataSource.DataSet.FieldByName('Price').AsFloat := Price;
end;
end;
上述代码假设DBGridEH是你的TDBGridEh组件的名称,Quantity、Price和Amount是对应的字段名。你需要将代码放在DBGridEHEditingDone事件中。
请注意,上述代码只是一个示例,你需要根据你的实际需求进行适当的修改。
原文地址: https://www.cveoy.top/t/topic/qoZ2 著作权归作者所有。请勿转载和采集!