cxgrid怎么得到每个分组的平均值?

delphi莎 2013-08-05 12:22:15
例如:
学生成绩
一班
50
65
86
平均值: 67
二班
60
57
72
平均值: 63

怎么分别取出平均值,求大神指引。。
...全文
153 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
delphi莎 2013-08-08
引用 10 楼 simonhehe 的回复:
直接无视7,8楼的解答?
你的方法并不能得到啊,另外8楼没理解我的意思
回复
ysai 2013-08-06
在TableView的DataController.Summary.FooterSummaryItems中添加一个项目,选择好Column和FieldName,Kind选择skAverage,再把OptionsView.Footer设置为true就能显示平均值了
回复
simonhehe 2013-08-06

///cxgrdbndtblvw: Band Table
///mmo1: Tmemo
procedure TForm15.btn1Click(Sender: TObject);
var
  i, j : Integer;
begin
for i := 0 to cxgrdbndtblvw.DataController.Groups.GroupingItemCount - 1 do
  begin
    for j := 0 to cxgrdbndtblvw.DataController.Summary.GroupSummaryItems[i].DataController.RowCount - 1 do      mmo1.Lines.Add(IntToStr(cxgrdbndtblvw.DataController.Summary.GroupSummaryItems[i].Summary.GroupSummaryValues[j, 0]));

      mmo1.Lines.Add('');
  end;
end;
回复
simonhehe 2013-08-06
直接无视7,8楼的解答?
回复
delphi莎 2013-08-06
自己找到了解决方法,如下: var i, j: Integer; begin inherited; j := 0; for i := 0 to cxGrid1DBTableView1.DataController.RowCount - 1 do begin if cxGrid1DBTableView1.DataController.GetRowInfo(i).Level = 0 then //0表示只按一个字段分组 Inc(j); //j为分组的总组数 end; for i := 0 to j - 1 do //show出分组合计的值,2代表第二列 ShowMessage(cxGrid1DBTableView1.DataController.Summary.GroupSummaryValues[i, 2]); end; 结贴~
回复
delphi莎 2013-08-05
引用 3 楼 xxcsoftware 的回复:
数据存在数据库中吗?如果是的话,SQL中多带一个求平均值的字段就OK了。
不能存在sql中,cxgrid是可编辑的,我可以随意更改,添加。而且最重要的是界面上的值已经显示出来了,只是我不知道该怎么取
回复
delphi莎 2013-08-05
引用 2 楼 yangsh0722 的回复:
我只玩过dbgrid,那个我倒是会取。
没用过也会,这么牛?怎么取呢?
回复
delphi莎 2013-08-05
不能存在sql中,cxgrid是可编辑的,我可以随意更改,添加。而且最重要的是界面上的值已经显示出来了,只是我不知道该怎么取
回复
xxcsoftware 2013-08-05
数据存在数据库中吗?如果是的话,SQL中多带一个求平均值的字段就OK了。
回复
-Tracy-McGrady- 2013-08-05
我只玩过dbgrid,那个我倒是会取。
回复
delphi莎 2013-08-05
顶自己一个,我的意思是怎么将平均值取出来,界面的功能已经实现。
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4923

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2013-08-05 12:22
社区公告
暂无公告