中英文切换问题
电话沟通,通过设置Thread的语言环境为zh-CN或者en-US都不能解决报表中英文不兼容问题在页面通过设置Page.Culture属性为:zh-CN或者en-US也不能解决报表中英文不兼容问题 回复 1楼pmway的帖子
请问当前语言环境更改成功了吗?
我理解问题是 PaperName 如果为“自定义纸张”则不起作用,如果为 “Custom paper” 则启作用。
我是通过以下方法更改的语言环境,在 Program.cs 中:
using System;
using System.Threading;
using System.Windows.Forms;
namespace GrapeCity.ActiveReports.Samples.EndUserDesigner
{
static class Program
{
/// <summary>
///The main entry point for the application.
/// </summary>
static void Main()
{
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new EndUserDesigner());
}
}
}
我这边测试没有问题,请你尝试。
谢谢 回复 2楼iceman的帖子
这个方法昨天在设计器里面已经尝试了,保存之后的报表xml的文件还是自定义纸张,不是英文! 回复 2楼iceman的帖子
并且报表设计器以后可能会给客户使用,如果环境都为英文的,客户那边可能会接受不了! 环境统一为:win7 64bit 旗舰版,AR :8.1.141.0 ,IIS7 ,.net framework版本为4.5 IIS部署为集成,程序池: .net framework 4.0 回复 5楼pmway的帖子
我会搭建相应环境进行测试,有结果后会反馈给你,预计在下周一给你进一步回复。 回复 5楼pmway的帖子
加载报表的时候设置PageSetting.PaperName 属性为英文既可以解决这个问题:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
return;
}
SectionReport sr = new SectionReport();
sr.LoadLayout(this.Server.MapPath("fffffff.rpx"));
string paperKind = sr.Document.Printer.PaperKind.ToString();
int height = Convert.ToInt32(sr.Document.Printer.PaperHeight*100);
int width = Convert.ToInt32(sr.Document.Printer.PaperWidth * 100);
sr.PageSettings.PaperName = "Custom paper";
sr.Document.Printer.PrinterName = "";
System.Drawing.Printing.PaperSize ps = new System.Drawing.Printing.PaperSize(paperKind, width, height);
ps.RawKind = 9;
sr.Document.Printer.PaperSize = ps;
sr.Run();
this.WebViewer1.Report = sr;
}
页:
[1]