找回密码
 立即注册

QQ登录

只需一步,快速开始

tangshanman

银牌会员

11

主题

16

帖子

3287

积分

银牌会员

积分
3287

活字格认证

tangshanman
银牌会员   /  发表于:2015-8-11 12:50  /   查看:6054  /  回复:7
举例:从数据库中读取数据,字段为:单据号,数量,金额。由于一个单据可能存在多条数量金额记录,因此,在数据库中存在单据号重复的情况。如何实现从数据库中读取数据集后,绑定到SPREAD时,相同单据号的记录自动合并显示为一条单据号行?

7 个回复

倒序浏览
rbgongming
论坛元老   /  发表于:2015-8-11 14:18:00
沙发
亲,建议你先对数据处理后在绑定到Spread,
绑定数据后在处理好像会很麻烦哦。
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-11 17:03:00
板凳
您好,
您提到数据库中,有很多重复记录。
您可以使用DISTINCT关键字去除数据,不知道您的使用场景是否可以这样使用?
回复 使用道具 举报
tangshanman
银牌会员   /  发表于:2015-8-12 08:53:00
地板
我所说的重复记录,不是指整行重复。举例说明
单据号,存货编码,数量,金额
A001, 0101,100,10000
A001,0203,78,6700

类似这样的数据,我想在spread中第一列,只显示一个单据号,而不是每行都显示。
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-8-12 09:12:00
5#
回复 4楼tangshanman的帖子

我知道你要实现什么功能,你想要实现同一单号的数量,金额自动累加到一行上。
所以我最开始给你的建议就是对读取出来的数据去做处理,因为绑定操作没有什
么很好的事件去捕捉,或者你一条一条赋值,然后手动加代码去处理。

有没有什么更好的办法,我还不知道,希望可以帮到你。

评分

参与人数 1金币 +500 收起 理由
frank.zhang + 500 协助回复问题

查看全部评分

把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
dim007
初级会员   /  发表于:2015-8-12 11:03:00
6#
你这是合并单元格吧 前面相同的合在一起
fpSpread1.Sheets[0].SetRowMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.None);
fpSpread1.Sheets[0].SetColumnMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Restricted );

评分

参与人数 1金币 +500 满意度 +3 收起 理由
frank.zhang + 500 + 3 实现了我想要的基本功能,但还是不完美,不过谢了!

查看全部评分

回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-13 17:39:00
7#
回复 4楼tangshanman的帖子

您好,
如果只是单据号重复的话,确实需要按照5楼的思路,需要将数量和金额进行累加。
不知道他的回复有没有给您一些思路?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-10-8 08:55:00
8#
您好,
这个问题,您在回复中描述没有能够完美解决,所有想跟您简单沟通下,您觉得这个方案,您在哪个地方觉得不满意呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部