找回密码
 立即注册

QQ登录

只需一步,快速开始

pmway

中级会员

41

主题

140

帖子

945

积分

中级会员

积分
945

活字格认证

pmway
中级会员   /  发表于:2014-11-27 20:46  /   查看:6379  /  回复:6
电话沟通,通过设置Thread的语言环境为zh-CN或者en-US都不能解决报表中英文不兼容问题
在页面通过设置Page.Culture属性为:zh-CN或者en-US也不能解决报表中英文不兼容问题

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-11-28 10:33:00
沙发
回复 1楼pmway的帖子

请问当前语言环境更改成功了吗?
我理解问题是 PaperName 如果为“自定义纸张”则不起作用,如果为 “Custom paper” 则启作用。
我是通过以下方法更改的语言环境,在 Program.cs 中:

  1. using System;
  2. using System.Threading;
  3. using System.Windows.Forms;
  4. namespace GrapeCity.ActiveReports.Samples.EndUserDesigner
  5. {
  6.         static class Program
  7.         {
  8.                 /// <summary>
  9.                 ///The main entry point for the application.
  10.                 /// </summary>
  11.                 [STAThread]
  12.                 static void Main()
  13.                 {
  14.             Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");

  15.                         Application.EnableVisualStyles();
  16.                         Application.SetCompatibleTextRenderingDefault(false);
  17.                         Application.Run(new EndUserDesigner());
  18.                 }
  19.         }
  20. }
复制代码


我这边测试没有问题,请你尝试。
谢谢
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-11-28 13:38:00
板凳
回复 2楼iceman的帖子

这个方法昨天在设计器里面已经尝试了,保存之后的报表xml的文件还是自定义纸张,不是英文!
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-11-28 13:58:00
地板
回复 2楼iceman的帖子

并且报表设计器以后可能会给客户使用,如果环境都为英文的,客户那边可能会接受不了!
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-11-28 15:47:00
5#
环境统一为:win7 64bit 旗舰版,AR :8.1.141.0 ,IIS7 ,.net framework版本为4.5 IIS部署为集成,程序池: .net framework 4.0
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-28 17:03:00
6#
回复 5楼pmway的帖子

我会搭建相应环境进行测试,有结果后会反馈给你,预计在下周一给你进一步回复。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-1 17:24:00
7#
回复 5楼pmway的帖子

加载报表的时候设置PageSetting.PaperName 属性为英文既可以解决这个问题:

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }

  7.             SectionReport sr = new SectionReport();
  8.             sr.LoadLayout(this.Server.MapPath(&quot;fffffff.rpx&quot;));

  9.             string paperKind = sr.Document.Printer.PaperKind.ToString();
  10.             int height = Convert.ToInt32(sr.Document.Printer.PaperHeight*100);
  11.             int width = Convert.ToInt32(sr.Document.Printer.PaperWidth * 100);

  12.             sr.PageSettings.PaperName = &quot;Custom paper&quot;;
  13.             sr.Document.Printer.PrinterName = &quot;&quot;;

  14.             System.Drawing.Printing.PaperSize ps = new System.Drawing.Printing.PaperSize(paperKind, width, height);
  15.             ps.RawKind = 9;
  16.             sr.Document.Printer.PaperSize = ps;


  17.             sr.Run();

  18.             this.WebViewer1.Report = sr;
  19.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部