找回密码
 立即注册

QQ登录

只需一步,快速开始

来爱清
论坛元老   /  发表于:2015-1-22 15:47:00
11#
用C1Report.Load方法导入xml文件后,不预览直接用C1Report.PrintDialog()方法打印,是横向打印;如果在C1DocumentViewer控件里预览,再点击控件上的打印按钮,则打印会是纵向的。无论在模板文件中定义横向,还是用代码都是这样子。
    请问如何设置,才能在C1DocumentViewer控件里预览,再点击控件上的打印按钮仍然是横向的?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-22 16:54:00
12#
回复 11楼来爱清的帖子

这个问题是由于C1DocumentViewer继承自微软的DocumentViewer,DocumentViewer没有提供这些选项让你自定义PrintDialog。
因此在C1Report的设置的自定义的类似横向没有没有实现,也无法用代码实现。只能在打印的时候在对话框进行设置。
或是你自定义一个DocumentViewer,不走它内部的逻辑,而是自己写代码逻辑去实现它。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-1-23 15:05:00
13#
看到博客里面写了WinForm的 C1PrintPreviewControl 控件支持自定义打印对话框。C1DocumentViewer支持自定义工具栏的控件吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-23 16:01:00
14#
回复 13楼来爱清的帖子

你可以继承C1DocumentViewer,然后自定义C1DocumentViewer。
通过重写OnApplyTemplate方法暴露自己的PrintButton。然后再这个PrintButton里面创建自定义的打印对话框。

目前我这里没有现成的示例。如果需要自定义对话框,并且需要帮助的话,可以提出来。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-1-23 17:27:00
15#
现在需求是这样子的:自定义C1DocumentViewer中工具栏控件



如果能提供个Demo最好了,非常感谢

本帖子中包含更多资源

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

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-23 17:45:00
16#
回复 15楼来爱清的帖子

你的需求我收到了,我这里可以帮你做一个Demo,添加自定义一个打印按钮。这样子,导出按钮你可以按照这个逻辑比较容易的实现。
需求Demo已经列入计划中,根据目前进度来预估,预计要到下周一才能给你回复,还望理解。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-1-23 17:56:00
17#
  非常感谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-26 11:24:00
18#
回复 17楼来爱清的帖子

主要是继承C1DocumentViewer,添加了一个PrintButton。
使用这段代码设置横向打印。
  1. c1dv.Document = rpt.C1Document.FixedDocumentSequence;
  2.         c1dv.Loaded += (s, e) =>
  3.             {
  4.                 c1dv.ApplyTemplate();
  5.                 c1dv.PrintButton.Click += (s1, e1) =>
  6.                 {
  7.                     System.Windows.Forms.PrintDialog pd = new System.Windows.Forms.PrintDialog();
  8.                     pd.Document = rpt.Document;

  9.                     PrinterSettings myPrinterSettings = new PrinterSettings();

  10.                     myPrinterSettings.DefaultPageSettings.Landscape = true;
  11.                     if ((rpt.Layout.Orientation == OrientationEnum.Landscape))
  12.                     {
  13.                         pd.PrinterSettings.DefaultPageSettings.Landscape = true;
  14.                     }
  15.                     else
  16.                     {
  17.                         pd.PrinterSettings.DefaultPageSettings.Landscape = false;
  18.                     }

  19.                     if ((pd.ShowDialog() == System.Windows.Forms.DialogResult.OK))
  20.                     {
  21.                         pd.Document.Print();
  22.                     }
  23.                 };
  24.             };
复制代码

具体请参考附件的Demo。


另外请问下周五我们给你邮件发了有关售前的案例,不知道你有没有看过,如果没有什么问题,我们近日会发布到网站。

本帖子中包含更多资源

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

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部