Question

Nous développons actuellement une application Winforms multilingue à l'aide de Visual Studio 2008. J'essaie de comprendre comment créer des rapports multilingues à l'aide de Crystal Reports.

Existe-t-il quelque chose de similaire aux fichiers de ressources .net dans le monde des rapports Crystal?

Était-ce utile?

La solution

Je suis désolé de vous avoir volé votre badge "tumbleweed", mais je ne pense pas que Crystal prenne en charge plusieurs langues de manière similaire à .NET. Je pense que votre seule option est d’avoir un rapport séparé pour chaque langue et de transférer les données dans le rapport dans la langue que vous souhaitez afficher.

Voici un lien vers une réponse similaire. http://www.dbforums.com/crystal- reports / 991737-crystal-report-multillingual-support.html

Autres conseils

Ce serait une façon manuelle de le faire:

  1. Créez un rapport pour chaque langue de votre choix et placez-le dans la structure de dossiers appropriée. c'est-à-dire que tous les rapports japonais iront dans le dossier rpt_ja /.

    Structure du dossier de rapport

  2. Utilisez un fichier de ressources .Net pour spécifier le nom de la ressource de rapport et le nom complet de la ressource pour chaque langue:

    • 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. Utilisez ensuite cette valeur dans le fichier de code du rapport: ouvrez le fichier .cs du rapport et modifiez-le:

    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 est destiné à l’application Web ASP.Net. Dans winform, vous pouvez essayer Properties.Resources.ResourceManager.GetString () pour obtenir la chaîne à partir des ressources

Un client me demande une solution à ce problème. J'ai développé une solution basée sur le mot clé Crystal Reports contentLocale et les fonctions personnalisées. Voir mon article: http://www.cogniza.com/blog/?p=55 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top