找回密码
 立即注册

QQ登录

只需一步,快速开始

mm640803

注册会员

25

主题

41

帖子

154

积分

注册会员

积分
154

活字格认证

mm640803
注册会员   /  发表于:2015-5-20 10:41  /   查看:6276  /  回复:4
请问,能否在组件已经打开了一张报表,假设总共有10行内容,当再打开一张报表时,并不是抹掉原来的数据,而是在这10行内容下面,将报表内容绘制进来。能否通过代码实现

4 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-5-20 17:35:00
沙发
回复 1楼mm640803的帖子

可以通过新的 Sheet 或者 Spread 对象打开,在遍历赋值到之前的表单中。
回复 使用道具 举报
mm640803
注册会员   /  发表于:2015-5-25 14:33:00
板凳
回复 2楼iceman的帖子

请问如果遍历复制,如何可以做到,单元格的样式内容都保持一致
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-5-25 16:55:00
地板
回复 3楼mm640803的帖子

大体思路如下,在Spread中创建两个Sheet,第一个Sheet用于展示数据,第二个sheet用于打开新的报表,最后把第二个Sheet移除即可:

  1.             Worksheet ws=new Worksheet();
  2.             gcSpreadSheet1.Sheets.Add(ws);

  3.             gcSpreadSheet1.View.ClipboardCopy(new GrapeCity.Windows.SpreadSheet.Data.CellRange(0, 0, 1, 1));
  4.             gcSpreadSheet1.ActiveSheetIndex = 1;
  5.             gcSpreadSheet1.View.ClipboardPaste(new GrapeCity.Windows.SpreadSheet.Data.CellRange(2, 2, 1, 1));
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-6-4 09:13:00
5#
回复 3楼mm640803的帖子

如果问题没有解决,请继续跟帖讨论。
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部