![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
你好,请教个问题,就是delphi中DBGridEh的统计行数据如何实现的
1个回答
展开全部
这事可以在设计期指定,也可以在运行期由代码来指定.运行期指定就把DBGridEh搞埃了,不灵活,说起来比较麻烦,你还不易搞懂.就说用代码吧:
DBGrideh1.FooterRowCount:=1;//新添加一行脚注
DBGrideh1.SumList.Active:=true;
for i:=0 to DBGrideh1.Columns.Count-1 do//一共有多少列
begin
DBGrideh1.Columns[i].Footer.FieldName:=DBGrideh1.Columns[i].Title.Caption;
if i=0 then//指定第一列显示标题名
begin
DBGrideh1.Columns[i].Footer.ValueType:=fvtStaticText;
DBGrideh1.Columns[i].Footer.Value:='项目合计';
DBGrideh1.Columns[i].Footer.Alignment:=tacenter;
end
else
begin //其它列都显示数据,求和,当然也可是计数,求均值等等
DBGrideh1.Columns[i].Footer.ValueType:=fvtSum;
end;
因此,完全套用本代码时要注意,除第一列是显示标题文本外,其它列都应该是数字,否则会出错.
当然你把.ValueType:=fvtSum中fvtSum改成其它的也可.
if i<2 then
DBGrideh1.Columns[i].Width :=70
else
DBGrideh1.Columns[i].Width :=50;
end;
DBGrideh1.FooterRowCount:=1;//新添加一行脚注
DBGrideh1.SumList.Active:=true;
for i:=0 to DBGrideh1.Columns.Count-1 do//一共有多少列
begin
DBGrideh1.Columns[i].Footer.FieldName:=DBGrideh1.Columns[i].Title.Caption;
if i=0 then//指定第一列显示标题名
begin
DBGrideh1.Columns[i].Footer.ValueType:=fvtStaticText;
DBGrideh1.Columns[i].Footer.Value:='项目合计';
DBGrideh1.Columns[i].Footer.Alignment:=tacenter;
end
else
begin //其它列都显示数据,求和,当然也可是计数,求均值等等
DBGrideh1.Columns[i].Footer.ValueType:=fvtSum;
end;
因此,完全套用本代码时要注意,除第一列是显示标题文本外,其它列都应该是数字,否则会出错.
当然你把.ValueType:=fvtSum中fvtSum改成其它的也可.
if i<2 then
DBGrideh1.Columns[i].Width :=70
else
DBGrideh1.Columns[i].Width :=50;
end;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询