Winforms 如何构建多语言Crystal报表

Winforms 如何构建多语言Crystal报表,winforms,crystal-reports,localization,multilingual,Winforms,Crystal Reports,Localization,Multilingual,我们正在使用VisualStudio2008开发一个多语言Winforms应用程序。我正在尝试找出如何使用crystal reports创建多语言报告 Crystal reports world中是否有类似于.net的资源文件?很抱歉,我抢走了您的风滚草徽章,但我认为Crystal没有类似于.net的多语言支持。我认为您唯一的选择是为每种语言创建一个单独的报告,并以您希望显示的语言将数据传递到报告中 下面是一个类似答案的链接。 很抱歉,我抢走了您的风滚草徽章,但我认为Crystal没有类似于.N

我们正在使用VisualStudio2008开发一个多语言Winforms应用程序。我正在尝试找出如何使用crystal reports创建多语言报告


Crystal reports world中是否有类似于.net的资源文件?

很抱歉,我抢走了您的风滚草徽章,但我认为Crystal没有类似于.net的多语言支持。我认为您唯一的选择是为每种语言创建一个单独的报告,并以您希望显示的语言将数据传递到报告中

下面是一个类似答案的链接。
很抱歉,我抢走了您的风滚草徽章,但我认为Crystal没有类似于.NET的多语言支持。我认为您唯一的选择是为每种语言创建一个单独的报告,并以您希望显示的语言将数据传递到报告中

下面是一个类似答案的链接。

一位客户向我询问此问题的解决方案。我开发了一个基于Crystal Reports contentLocale关键字和自定义函数的解决方案。请参阅我的帖子:。

一位客户向我询问此问题的解决方案。我开发了一个基于Crystal Reports contentLocale关键字和自定义函数的解决方案。请参阅我的帖子:。

这将是一种手动方式:

  • 为所需的每种语言创建报告,并将其放入适当的文件夹结构中。i、 e.所有日文报告将进入rpt_ja/文件夹

  • 使用.Net资源文件为每种语言指定报表资源名称和完整资源名称:

    • resource.resx

      RPT_样本->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

  • 然后在报告代码文件中使用此值:打开report.cs文件并更改:

    public override string ResourceName {
    get {
        // Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE").ToString();
        return "report01.rpt";
    }
    set {
        // Do nothing
    }
    
    }


  • 编辑:HttpContext用于ASP.Net web应用程序。在winform中,您可以尝试Properties.Resources.ResourceManager.GetString()从资源中获取字符串这将是一种手动方式:

  • 为所需的每种语言创建报告,并将其放入适当的文件夹结构中。i、 e.所有日文报告将进入rpt_ja/文件夹

  • 使用.Net资源文件为每种语言指定报表资源名称和完整资源名称:

    • resource.resx

      RPT_样本->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

  • 然后在报告代码文件中使用此值:打开report.cs文件并更改:

    public override string ResourceName {
    get {
        // Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE").ToString();
        return "report01.rpt";
    }
    set {
        // Do nothing
    }
    
    }

  • 编辑:HttpContext用于ASP.Net web应用程序。在winform中,您可以尝试Properties.Resources.ResourceManager.GetString()从资源中获取字符串