找回密码
 立即注册

QQ登录

只需一步,快速开始

sxyweiren

中级会员

73

主题

366

帖子

755

积分

中级会员

积分
755

活字格认证微信认证勋章

sxyweiren
中级会员   /  发表于:2018-11-21 16:35  /   查看:3079  /  回复:3
本帖最后由 sxyweiren 于 2018-11-21 16:42 编辑

现在有一个需求是通过C1PrintDocument来打印C1FlexGrid的表格内容。

我这边现在有两个方案

1,通过给Document添加RenderImage来打印FlexGrid的区域。
     但是试了一下,发现如果FlexGrid有滚动条的话,只是单纯的打印表示区域。
     不能把FlexGrid的数据完整打印出来。

2,现保存FlexGrid的表格内容,通过AddImage的方式进行打印。。
     但是不知道FlexGrid有没有把自己的表格内容保存成图片的方式。

问:第一种方案能不能实现直接打印所有的表格区域?包括显示区域和位于滚动条内的区域。
       第二种方案,FlexGrid能不能直接把所有的表格区域保存成图片?

另外,如果C1PrintDocument印刷一个超出纸张大小的图片的时候,能否自动印刷成多页的???

3 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2018-11-21 17:43:43
沙发
如果但是为了打印数据可以取到Flexgrid的数据源之后使用RenderTable的方法来画表格。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2018-11-22 11:18:04
板凳
JeffryLI 发表于 2018-11-21 17:43
如果但是为了打印数据可以取到Flexgrid的数据源之后使用RenderTable的方法来画表格。

其实想要实现跟旧的VSView里面的VsPrinter类似的效果。
绑定FlexGrid控件,直接可以印刷。

VSPrinter通过设定RenderControl直接把整个FlexGrid打印。
并且实现自动横向纵向换页。
按照从左到右,从上倒下的顺序印刷。

FlexGrid本身也有印刷功能,但是如果横向是多页的话,会先印刷纵向,在印刷横向的。
类似于下面的效果
FlexGrid在这种情况下,如果左侧是商品名字,最右侧是价格信息的话,
在页数比较多的情况下打印出来,客户很难找到具体的匹配页。
但是VsPrinter可以很方便的找到,因为这一页下面的一页就是自己对应的右侧部分。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-11-22 11:33:37
地板
可以给一个C# 的额demo 这个我想在我这边看一下,所以借你的demo用用。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部