brokensun (2000-5-20 23:40:00) 一般显示都是用TQuery类实现,所以组合TDBGrid类,达到你的要求确实就很简单了,象这样: 1.Q='select 物品名称,单价,数量..... from your_table ' 2.Q='select 物品名称,单价,数量,......,单价*数量 as Total from your_table ' 3.类似 TQuery.SQL.Add(Q)可改变查询结果,因为TDBGrid可随你的TQuery的变化而变化,所以你看,就是这么简单。
可以在设计时添加一个计算字段total!然后 在table的oncalcfields事件里面写 procedure TForm1.table1CalcFields(DataSet: TDataSet); begin with table1 do begin fieldbyname('total').asfloat:=fieldbyname('num').asfloat*fieldbyname('price').asfloat; end; end;或者用楼上的办法,用Query的sql语句直接生成计算字段!
一般显示都是用TQuery类实现,所以组合TDBGrid类,达到你的要求确实就很简单了,象这样:
1.Q='select 物品名称,单价,数量..... from your_table '
2.Q='select 物品名称,单价,数量,......,单价*数量 as Total from your_table '
3.类似
TQuery.SQL.Add(Q)可改变查询结果,因为TDBGrid可随你的TQuery的变化而变化,所以你看,就是这么简单。
procedure TForm1.table1CalcFields(DataSet: TDataSet);
begin
with table1 do
begin
fieldbyname('total').asfloat:=fieldbyname('num').asfloat*fieldbyname('price').asfloat;
end;
end;或者用楼上的办法,用Query的sql语句直接生成计算字段!
http://www.csdn.net/expert/topic/516/516434.xml?temp=.68948
不过
fieldkind:=fkCalculated;
开始,我是在设计时期给加了一个total的计算字段,在ncalcfields事件里计算。可是,这样以来,就不能对该表进行添加记录的操作了,因为这时候一添加,便会出发ncalcfields事件。这样以来,计算和对表的操作产生了冲突,不能同时操作,所以,我想用一个动态的计算字段了解决。请问个位前辈们,我该如何解决?
开始,我是在设计时期给加了一个total的计算字段,在ncalcfields事件里计算。可是,这样以来,就不能对该表进行添加记录的操作了,因为这时候一添加,便会出发ncalcfields事件。这样以来,计算和对表的操作产生了冲突,不能同时操作,所以,我想用一个动态的计算字段了解决。请问个位前辈们,我该如何解决?
开始,我是在设计时期给加了一个total的计算字段,在ncalcfields事件里计算。可是,这样以来,就不能对该表进行添加记录的操作了,因为这时候一添加,便会出发ncalcfields事件。这样以来,计算和对表的操作产生了冲突,不能同时操作,所以,我想用一个动态的计算字段了解决。请问个位前辈们,我该如何解决?