我們正在開發使用Visual Studio 2008的多語言Winforms應用程序。我想弄清楚如何使用水晶報表創建多語言報表。如何構建多語言水晶報表
在Crystal報告世界中是否有與.net資源文件類似的東西?
我們正在開發使用Visual Studio 2008的多語言Winforms應用程序。我想弄清楚如何使用水晶報表創建多語言報表。如何構建多語言水晶報表
在Crystal報告世界中是否有與.net資源文件類似的東西?
對不起,我搶走了你的風滾草徽章,但我不認爲Crystal有類似於.NET的多語言支持。我認爲您唯一的選擇是針對每種語言製作單獨的報告,並將數據以希望顯示的語言傳遞到報告中。
這是類似答案的鏈接。 http://www.dbforums.com/crystal-reports/991737-crystal-report-multillingual-support.html
客戶問我一個解決這個問題的方法。我開發了一個基於Crystal Reports contentLocale關鍵字和自定義函數的解決方案。看我的貼子:http://www.cogniza.com/blog/?p=55。
這將是這樣做的手工方式:
爲要每種語言的報告,並投入適當的文件夾結構。即所有的日本報告都將進入rpt_ja /文件夾。
使用的.Net資源文件爲每種語言指定報告資源的名稱和完整的資源名稱:
resource.resx
RPT_SAMPLE - > report01.rpt
RPT_SAMPLE_FULL - > MyCompany.NameSpace.Reports.Report01.rpt
resource.ja.resx
RPT_SAMPLE - > rpt_ja \ report01.ja.rpt
RPT_SAMPLE_FULL - > MyCompany.NameSpace.Reports.Report01.ja.rpt
然後在報告代碼文件中使用此值:打開報告.cs文件並更改:
public override string ResourceName {
get {
// Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE").ToString();
return "report01.rpt";
}
set {
// Do nothing
}
}
public override string FullResourceName {
get {
// Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE_FULL").ToString();
return "rpt_ja\report01.ja.rpt";
}
set {
// Do nothing
}
}
編輯:HttpContext的是ASP.Net Web應用程序。在winform中,您可以嘗試使用Properties.Resources.ResourceManager.GetString()從資源中獲取字符串