水晶报表 多语言

水晶报表的语言是通过服务器上的JS文件来控制的.

C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer4\js目录的(这个目录应该是安装水晶报表后就会自动加上去的)

image

 

1.自动选择.

设置程序的语言:

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");

 

程序变成英文.

image image

看看页面中引用了两个JS,一个是语言包,一个是一些函数(应该是用于这个操作一些语言包的吧)

<script src="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer4/js/strings_en.js" type="text/javascript"></script>

<script src="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer4/js/export.js" type="text/javascript"></script>

 

 

设置成中文:

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN");

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CN");

程序变成中文.

image image

看看页面中引用了两个JS,一个是语言包,一个是一些函数(应该是用于这个操作一些语言包的吧)

<script src="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer4/js/strings_chs.js" type="text/javascript"></script>

<script src="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer4/js/export.js" type="text/javascript"></script>

 

以上可以看出,只要设置程序的CurrentCulture ,CurrentUICulture ,水晶报表就会自己选择JS语言包

 

 

2.强制选择语言包

强制它显示什么语言.

 

1.界面上,在页面的后面加.

<script> var xString; xString=document.body.innerHTML; xString=xString.replace("导出","My Export"); xString=xString.replace("主报表","My Report"); document.body.innerHTML=xString; </script>

用类似的代码,可以把工具栏全部替换掉。

 

 

2.修改导出、打印等提示页面

这个比较麻烦,本想去获取输出的js中去修改

<script src="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer4/js/strings_chs.js" type="text/javascript"></script>

<script src="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer4/js/export.js" type="text/javascript"></script>

这里的JS语言包,怎么搞,都不行...后来想去一个变通的方法.

 

以下就中, 英文 处理,如果还有其它的语言,还要相应的添加或修改JS文件.

步骤1:复制C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer4\js\下strings_chs.js ,string_en.js, export.js文件到项目中(以后引用就用这个文件了).

步骤2:清空的C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer4\js\下strings_chs.js ,string_en.js, export.js文件(让他调用空的JS)

步骤3:在页面中手动添加这两个JS文件

HtmlGenericControl myJs = new HtmlGenericControl();

myJs.TagName = "script";

myJs.Attributes.Add("type", "text/javascript");

myJs = new HtmlGenericControl();

//这里程序去判断你要引用的语言包

//myJs.Attributes.Add("src", "/JS/strings_en.js");

myJs.Attributes.Add("src", "/JS/strings_chs.js");

myJs.TagName = "script";

myJs.Attributes.Add("type", "text/javascript");

myJs.Attributes.Add("src", "/JS/export.js");

this.Header.Controls.Add(myJs);

 

 

posted @ 2011-10-09 16:44  陈同学  阅读(952)  评论(0编辑  收藏  举报