質問

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

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

役に立ちましたか?

解決

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

同様の回答のリンクがあります。 http://www.dbforums.com/crystal- reports / 991737-crystal-report-multillingual-support.html

他のヒント

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

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

    レポートフォルダー構造

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

  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
        }
    }
    

EDIT:HttpContextはASP.Net Webアプリケーション用です。 winformでは、Properties.Resources.ResourceManager.GetString()を試してリソースから文字列を取得できます

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top