2

我们正在使用 Visual Studio 2008 开发多语言 Winforms 应用程序。我正在尝试弄清楚如何使用 Crystal Reports 创建多语言报告。

Crystal 报表世界中是否有任何类似于 .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 Resource 文件为每种语言指定报告资源名称和完整资源名称:

    • 资源.resx

      RPT_SAMPLE -> report01.rpt

      RPT_SAMPLE_FULL -> MyCompany.NameSpace.Reports.Report01.rpt

    • 资源.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 回答