Visual Studio 2008 を使用して多言語 Winforms アプリケーションを開発しています。 Crystal Reports を使用して多言語レポートを作成する方法を見つけようとしています。
Crystal Reports の世界に .net リソース ファイルに似たものはありますか?
Visual Studio 2008 を使用して多言語 Winforms アプリケーションを開発しています。 Crystal Reports を使用して多言語レポートを作成する方法を見つけようとしています。
Crystal Reports の世界に .net リソース ファイルに似たものはありますか?
タンブルウィード バッジを奪って申し訳ありませんが、Crystal には .NET のような多言語サポートはないと思います。唯一の選択肢は、言語ごとに個別のレポートを作成し、表示したい言語のレポートにデータを渡すことだと思います。
これは、同様の回答のリンクです。 http://www.dbforums.com/crystal-reports/991737-crystal-report-multillingual-support.html
これは、これを手動で行う方法です。
必要な言語ごとにレポートを作成し、適切なフォルダー構造に入れます。つまり、すべての日本語レポートは rpt_ja/ フォルダーに移動します。
.Net リソース ファイルを使用して、各言語のレポート リソース名と完全なリソース名を指定します。
リソース.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() を試して、リソースから文字列を取得できます。
クライアントから、この問題の解決策を尋ねられました。Crystal Reports contentLocale キーワードとカスタム関数に基づいてソリューションを開発しました。私の投稿を参照してください: http://www.cogniza.com/blog/?p=55 .