F
fillstyle
Unregistered / Unconfirmed
GUEST, unregistred user!
不知道怎么回事就起了一个怪名字
先说一下我最初的设想吧
是这样的,有一个数据库,里面有若干张表
比如我想显示其中一张表,这张表是这样的
月份 商品A 商品B 商品C 合计
1 10 14 16 40
2 20 0 12 32
3 8 12 8 28
总计 38 26 36 100
数据库里面只有最基本的数据,没有合计和总计的
而显示页面的时候要把总计也做为一条记录,和其他记录一同显示在Grid里面
和同学讨论了一下
不知这么想是否正确
数据库,表 数据层
| |
DataSet(RecordSet) 逻辑层
| |
DBGrid(只用于显示) 表现层
这里逻辑层的目的就是为了对数据库内取出的数据进行再次组织,以便于表现层的显示
大家讨论了一下,同室一个是搞.NET的,说DataSet底层上用的是XML(这个我不懂的说,他
只是就.NET里的DataSet提出的,我不知道是否和Delphi的DataSet一回事)
因此,可以很方便的增加组合型的合计字段(这个明白怎么做),也可以很方便的增加一条
总计记录,当然这一切操作都是对于DataSet这个缓冲区的操作,不会涉及到数据库的变
化,可惜,我刚学Delphi才4天,不知道具体应该如何操作,sigh
有人说可以如下解决问题:
一样的,合计用calculated字段,在oncalcfields事件中写代码(加起来)
而总计用clientdataset的aggregate,在aggregate中定义
expression属性为sum(字段名),就可以了
但如果我有如下BT要求呢?
比如
现在是3月份,每月只有一条记录
现在我进DBGrid,不想看到只有3条记录
而想这样显示
月份 商品A 商品B 商品C 合计
1 10 14 16 40
2 20 0 12 32
3 8 12 8 28
4 0 0 0 0
5 0 0 0 0
....
而实际数据库内并没有4 5 等月份的记录
这样又该怎么办啊
直接编程针对Grid的显示做吗??估计应该可以这样做,但不知如何做
DataSet支持任意添加一条记录而不是单纯的总计吗?
上面的理解不知是否有错,还请告知.另外,具体应该怎么解决这个问题
DataSet能否如上面所说的是一个数据缓冲区,我可以自由的添加/删除 字段和记录呢??
还请各位指点.
谢过先
先说一下我最初的设想吧
是这样的,有一个数据库,里面有若干张表
比如我想显示其中一张表,这张表是这样的
月份 商品A 商品B 商品C 合计
1 10 14 16 40
2 20 0 12 32
3 8 12 8 28
总计 38 26 36 100
数据库里面只有最基本的数据,没有合计和总计的
而显示页面的时候要把总计也做为一条记录,和其他记录一同显示在Grid里面
和同学讨论了一下
不知这么想是否正确
数据库,表 数据层
| |
DataSet(RecordSet) 逻辑层
| |
DBGrid(只用于显示) 表现层
这里逻辑层的目的就是为了对数据库内取出的数据进行再次组织,以便于表现层的显示
大家讨论了一下,同室一个是搞.NET的,说DataSet底层上用的是XML(这个我不懂的说,他
只是就.NET里的DataSet提出的,我不知道是否和Delphi的DataSet一回事)
因此,可以很方便的增加组合型的合计字段(这个明白怎么做),也可以很方便的增加一条
总计记录,当然这一切操作都是对于DataSet这个缓冲区的操作,不会涉及到数据库的变
化,可惜,我刚学Delphi才4天,不知道具体应该如何操作,sigh
有人说可以如下解决问题:
一样的,合计用calculated字段,在oncalcfields事件中写代码(加起来)
而总计用clientdataset的aggregate,在aggregate中定义
expression属性为sum(字段名),就可以了
但如果我有如下BT要求呢?
比如
现在是3月份,每月只有一条记录
现在我进DBGrid,不想看到只有3条记录
而想这样显示
月份 商品A 商品B 商品C 合计
1 10 14 16 40
2 20 0 12 32
3 8 12 8 28
4 0 0 0 0
5 0 0 0 0
....
而实际数据库内并没有4 5 等月份的记录
这样又该怎么办啊
直接编程针对Grid的显示做吗??估计应该可以这样做,但不知如何做
DataSet支持任意添加一条记录而不是单纯的总计吗?
上面的理解不知是否有错,还请告知.另外,具体应该怎么解决这个问题
DataSet能否如上面所说的是一个数据缓冲区,我可以自由的添加/删除 字段和记录呢??
还请各位指点.
谢过先