2009-06-24 18 views
1

我們正在開發使用Visual Studio 2008的多語言Winforms應用程序。我想弄清楚如何使用水晶報表創建多語言報表。如何構建多語言水晶報表

在Crystal報告世界中是否有與.net資源文件類似的東西?

回答

-1

客戶問我一個解決這個問題的方法。我開發了一個基於Crystal Reports contentLocale關鍵字和自定義函數的解決方案。看我的貼子:http://www.cogniza.com/blog/?p=55

0

這將是這樣做的手工方式:

  1. 爲要每種語言的報告,並投入適當的文件夾結構。即所有的日本報告都將進入rpt_ja /文件夾。

    Report folder structure

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

編輯:HttpContext的是ASP.Net Web應用程序。在winform中,您可以嘗試使用Properties.Resources.ResourceManager.GetString()從資源中獲取字符串