2

Visual Studio 2008 を使用して多言語 Winforms アプリケーションを開発しています。 Crystal Reports を使用して多言語レポートを作成する方法を見つけようとしています。

Crystal Reports の世界に .net リソース ファイルに似たものはありますか?

4

3 に答える 3

1

タンブルウィード バッジを奪って申し訳ありませんが、Crystal には .NET のような多言語サポートはないと思います。唯一の選択肢は、言語ごとに個別のレポートを作成し、表示したい言語のレポートにデータを渡すことだと思います。

これは、同様の回答のリンクです。 http://www.dbforums.com/crystal-reports/991737-crystal-report-multillingual-support.html

于 2009-06-25T15:22:35.143 に答える
0

これは、これを手動で行う方法です。

  1. 必要な言語ごとにレポートを作成し、適切なフォルダー構造に入れます。つまり、すべての日本語レポートは rpt_ja/ フォルダーに移動します。

    レポートのフォルダー構造

  2. .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

  3. 次に、レポート コード ファイルでこの値を使用します。レポート .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() を試して、リソースから文字列を取得できます。

于 2014-12-16T04:14:59.067 に答える
-1

クライアントから、この問題の解決策を尋ねられました。Crystal Reports contentLocale キーワードとカスタム関数に基づいてソリューションを開発しました。私の投稿を参照してください: http://www.cogniza.com/blog/?p=55 .

于 2009-07-15T03:15:47.693 に答える