Вопрос

Мы разрабатываем многоязычное приложение Winforms с использованием Visual Studio 2008.Я пытаюсь понять, как я могу создавать многоязычные отчеты с помощью crystal Reports.

Есть ли что-нибудь похожее на файлы ресурсов .net в мире Crystal reports?

Это было полезно?

Решение

Мне жаль, что я отнимаю у вас значок пропитка, но я не думаю, что у Crystal есть поддержка нескольких языков, аналогичная .NET. Я думаю, что единственный вариант - создать отдельный отчет для каждого языка и передать данные в отчет на том языке, который вы хотите отобразить.

Вот ссылка на аналогичный ответ. http://www.dbforums.com/crystal- отчеты / 991737-кристалл-отчет-multillingual-support.html

Другие советы

Это был бы ручной способ сделать это:

  1. Создайте отчет для каждого нужного вам языка и поместите в соответствующую структуру папок.т. е.все японские отчеты будут отправлены в папку rpt_ja/.

    Report folder structure

  2. Используйте файл ресурсов .Net, чтобы указать имя ресурса отчета и полное название ресурса для каждого языка:

    • ресурс.resx

      RPT_SAMPLE -> отчет01.rpt

      RPT_SAMPLE_FULL -> MyCompany.Пространство имен.Отчеты.Report01.rpt

    • ресурс.ja.resx

      RPT_SAMPLE -> rpt_ja\отчет01.ja.rpt

      RPT_SAMPLE_FULL -> MyCompany.Пространство имен.Отчеты.Report01.ja.rpt

  3. Затем используйте это значение в файле кода отчета:Откройте файл report .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.Сетевое веб-приложение.В winform вы можете попробовать использовать Свойства.Ресурсы.ResourceManager.getString() для получения строки из ресурсов

Клиент спрашивает у меня решение этой проблемы. Я разработал решение на основе ключевого слова Crystal Reports contentLocale и пользовательских функций. Смотрите мои сообщения: http://www.cogniza.com/blog/?p=55 .

scroll top