起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 523|回复: 10

如何在DataGrid控件中在最后一列显示按某字段分组后的合计值。[问题]**

[复制链接]
发表于 2007-4-10 14:11:17 | 显示全部楼层 |阅读模式
如何在DataGrid控件中在最后一列显示按某字段分组后的合计值,而不是在页末行显示该分组字段的统计信息。
  一个项目有很多条差旅费,住宿费。然后每个项目只用一行在差旅费这列显示该费用的统计信息,然后在该行的最后的合计列把之前的 差旅费,住宿费等几项相加。。

Snap.jpg

27.44 KB, 下载次数: 237

回复

使用道具 举报

发表于 2007-4-10 14:27:53 | 显示全部楼层
请把你具体的实际结果图贴出来看看。

在最后一列显示按某字段分组后的合计值,怎么显示呢,是同一组的所有记录都值显示一个值,还是就显示一次,显示在哪条记录上呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-10 16:47:13 | 显示全部楼层
.......是没明白我意思吗。。
  需求是根据分组情况把同一费用类型的费用金额统计(例如图上的差旅费),然后再把各种发生的费用类型的这个统计金额,再相加作为一个项目的费用合计值(即图上的合计)
回复 支持 反对

使用道具 举报

发表于 2007-4-10 16:50:54 | 显示全部楼层
这种需求你要通过sql构造一个合计字段然后绑定到合计那个cell上,如:
select xmbh,  --项目编号
          xmmc,
         bmmc,
         clf,       --差旅费
         zsf,     --住宿费
        (select clf + zsf from fyb t1 where t1.xmbh = fyb.xmbh) hj   --合计
from fyb
where ....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-10 17:08:11 | 显示全部楼层
差旅费,住宿费是费用类型的记录,那如何在把这个值作为列标题显示呢。。
需求是把统计出来的各种费用类型的各自对应的值合计之后作为该列标题下的数据。
例如   一个部门发生了三条差旅费,300.。。500.。。800
              那么在差旅费这栏就要显示1600.
   如果还发生了 住宿费1000
则在最后列显示2600.。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-10 17:11:03 | 显示全部楼层
最初由 lantian402 发布
[B]差旅费,住宿费是费用类型的记录,那如何在把这个值作为列标题显示呢。。
需求是把统计出来的各种费用类型的各自对应的值合计之后作为该列标题下的数据。
例如   一个部?.

以下省略...... [/B]

Snap5.jpg

28.35 KB, 下载次数: 228

回复 支持 反对

使用道具 举报

发表于 2007-4-10 17:19:20 | 显示全部楼层
你的意思不就是按照部门和项目编号来分组统计吗,那你可以通过一个sql就可以统计出来啊
select xmbh,
           xmmc,
          bmmc,
          sum(clf),
          sum(zsf),
         ......  
         sum(clf) +sum(zsf) hj
from fyb
where ....
group by  xmbh,
           xmmc,
          bmmc
建一个数据集,指定为这个sql,然后再建一个表格文档绑定相关字段就完了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-10 17:34:15 | 显示全部楼层
首先  差旅费和住宿费并不是数据表里面的字段。。它是费用类型字段下面的两条记录。
其次  图上的信息是在查询之后,满足条件的数据集对应的数据在DataGrid中显示的。。
需求是在DataGrid中显示数据集中按费用类型的各种记录分组的合计信息。
  如果在DataGrid中对费用类型这一字段进行分组之后,合计信息是在该分组后的组末尾显示的。我要求是把这个分组信息和合计信息不用自己分组自动生成上面的格式的表。。然后通过EXEXL导出打印。。
回复 支持 反对

使用道具 举报

发表于 2007-4-10 17:39:45 | 显示全部楼层
我上面不是说了吗,不管你的业务数据是怎么存储的,你都要按照你要表现的格式自己来构造一个sql来查询出你要得到的数据,然后通过数据集和文档来进行表现,具体sql怎么构造,不管你是通过group by分组,还是使用子查询等等,那是写sql的问题,我上面的sql只是给你举个例子而已,告诉你“合计”那那个字段也是通过sql构造出来的,具体的你要根据你的业务表自己去写
回复 支持 反对

使用道具 举报

发表于 2007-4-16 10:29:57 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-4 17:53 , Processed in 0.042626 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表