起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 210|回复: 13

无法汇总**

[复制链接]
发表于 2008-7-7 16:27:32 | 显示全部楼层 |阅读模式
对某字段进行汇总,为什么运行时不能汇总?

2.gif

680.89 KB, 下载次数: 100

回复

使用道具 举报

 楼主| 发表于 2008-7-7 16:28:24 | 显示全部楼层
运行时结果

1.gif

107.04 KB, 下载次数: 96

回复 支持 反对

使用道具 举报

发表于 2008-7-7 16:28:48 | 显示全部楼层
这个字段的类型是什么?
回复 支持 反对

使用道具 举报

发表于 2008-7-8 09:28:54 | 显示全部楼层
这个是不能保存的,如果要设置页脚汇总,把字段加载进来,直接在列的SummaryXXX 属性上设置,参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=1229
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-8 12:08:18 | 显示全部楼层
我按照4楼里的第一种方法做的,但是显示结果如2楼所示,我看了一下,那个数据字段的类型是字符型的,我想用代码下,请问在下面的事件下如何写?
procedure TRYTCPXSJTJform.DataGrid1LEAVEDATESummaryFooter(Sender: TObject; DataSet: TDataSet; var Value: Double);
begin


end;
回复 支持 反对

使用道具 举报

发表于 2008-7-8 13:34:04 | 显示全部楼层
sum需要数字类型。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-8 13:48:14 | 显示全部楼层
sum是需要数字类型的,所以不能汇总,那么我用5楼的代码能否实现?如果能实现怎么写给value负值?如果不能用5楼的代码实现,请问有什么解决方法?
回复 支持 反对

使用道具 举报

发表于 2008-7-8 13:52:49 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-8 14:15:52 | 显示全部楼层
procedure TRYTCPXSJTJform.DataGrid1LEAVEDATEDrawSummaryFooter(Sender: TObject; ACanvas: TCanvas; ARect: TRect; var AText: string; var AAlignment: TAlignment; AFont: TFont; var AColor: Integer; var ADone: Boolean);
var
  a: float;

begin
  a := DataGrid1LEAVEDATE.ColumnDef.SummaryFooterValue;
  AText := SysUtils.FloatToStr(a);
end;

结果还是零,应该是8才对,因为我的LEAVEDATE字段是字符型的,用这种方法不行吧?
回复 支持 反对

使用道具 举报

发表于 2008-7-8 14:33:23 | 显示全部楼层
1、能说说为啥要定义为“脱产时间”字符型吗?
2、8楼告知的是如何给页脚汇总赋值,请问SysUtils.FloatToStr(a) 这里面a的值是多少呢?SysUtils.FloatToStr 这个函数仅仅是把浮点转换成字符串而已,不是修改值。如果是0,那么肯定还是0了,如果a的值是8,那么结果肯定就是8了。

我建议把这个字段的类型设置为数字,然后直接定义sum(该字段)就可以了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 02:58 , Processed in 0.048296 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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