找回密码
 立即注册

QQ登录

只需一步,快速开始

sqwd

注册会员

1

主题

3

帖子

12

积分

注册会员

积分
12
  • 30

    金币

  • 1

    主题

  • 3

    帖子

最新发帖
sqwd
注册会员   /  发表于:2024-11-12 11:22  /   查看:57  /  回复:5
C1FlexViewer 控件加载C1FlexReport ,InspectionFormPrint.flxr内容,怎么做到一次打印多个表格
C1FlexViewer控件预览单个表格,能自动触发打印操作并关闭窗口吗?怎么实现

5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:6 天前
沙发
我没明白你说的“一次打印多个表格”是什么意思。多个表格是指什么?

如果你指的是这个flxr中的多个report的话,本身加载方法每次也只能加载一个,那么你应该是在一个打印完以后,在去加载另一个report,循环加载打印
回复 使用道具 举报
sqwd
注册会员   /  发表于:6 天前
板凳
本帖最后由 sqwd 于 2024-11-12 17:10 编辑
Richard.Ma 发表于 2024-11-12 16:54
我没明白你说的“一次打印多个表格”是什么意思。多个表格是指什么?

如果你指的是这个flxr中的多个repo ...


C:\Users\Lisd\AppData\Local\Temp\企业微信截图_1731402166648.png

那正常使用C1FlexViewer一次加载一个报表,怎么自动触发打印呢。我现在需求是希望一键触发多张报表进行打印,报表格式相同,内容不同

本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:4 天前
地板
你只要初始化一个flexreport对象,然后用下面的代码来让在加载完成后打印就行
  1.                 flxRpt = new C1FlexReport();
  2.                 flxRpt.BusyStateChanged += (s, ee) => {
  3.                     if (flxRpt != null && !flxViewer.DocumentSource.IsBusy)
  4.                     {
  5.                         flxRpt.Print();
  6.                     }
  7.                 };
  8.                 flxRpt.Load(file, reportName);
复制代码


回复 使用道具 举报
sqwd
注册会员   /  发表于:3 天前
5#
本帖最后由 sqwd 于 2024-11-15 17:49 编辑
Richard.Ma 发表于 2024-11-12 16:54
我没明白你说的“一次打印多个表格”是什么意思。多个表格是指什么?

如果你指的是这个flxr中的多个repo ...

你好,C1FlexViewer 搭配C1FlexReport加载定义好的.flxr文件使用,想批量打印数据不同的表格。 使用您推荐的办法调用flxRpt.Print();会报以下错误“System.InvalidOperationException  HResult=0x80131509  Message=对象的当前状态使该操作无效。”
您那边有C# wpf可以运行的批量导出的示例项目吗,或者我按装软件后,会自带的有那些示例可以参考呢

本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:3 天前
6#
你是要批量打印,那么和flexviewer就没有什么关系,也就和WPF没关系了,不管是wpf还是winforms,C1FlexReport类对象是相同的。打印只是需要循环的去把文件中的每个report加载到C1FlexReport对象中,在加载完成(IsBusy为false)时,来打印就行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部