Я не могу отобразить значение параметра в заголовке отчета в crystal reports

#crystal-reports

Вопрос:

Я разрабатываю небольшое приложение на c# и использую Crystal Reports для отчетов. Я хочу отобразить значения параметров в заголовке отчета, но не могу. Как я могу отобразить значения параметров в заголовке отчета?

             ClassParams.EMANET_KITAP_ID = txtKitapID.Text;
            ParameterFields From = new ParameterFields();
            ParameterField KID = new ParameterField();
            KID.Name = "EMANET_KITAP_ID";
            ParameterDiscreteValue val = new ParameterDiscreteValue();
            val.Value = ClassParams.EMANET_KITAP_ID;
            KID.CurrentValues.Add(val);
            From.Add(KID);
            crystalReportViewer1.ParameterFieldInfo = From;


class ClassParams
{
    public static string KID;
    public static string EMANET_KITAP_ID
    {
        get { return KID; }
        set { KID = value; }
    }
}
 

Комментарии:

1. Я думаю, что вам нужна дополнительная информация, чтобы помочь вам. Я использую Crystal Reports 2016 (не Visual Studio), и я могу создать поле параметра, поместить его в раздел заголовка отчета, а затем просмотреть отчет, и он отобразится, как ожидалось. Возможно, вам захочется обновить этот вопрос, чтобы включить сведения о вашей среде, такие как версия crystal reports или visual studio, которую вы используете. Включите также любой код C#, который используется для заполнения поля параметра.

2. Я использую Crystal Reports 2011

3. Параметры классов. EMANET_KITAP_ID = txtKitapID.Text; Поля параметров Из = новые поля параметров(); Поле параметров KID = новое поле параметров(); РЕБЕНОК. Имя = «EMANET_KITAP_ID»; Значение параметра val = новое значение параметра(); Значение val. Value = Параметры класса. EMANET_KITAP_ID; МАЛЫШ. Текущие значения. Добавить(val); От.Добавить(РЕБЕНОК); crystalReportViewer1.ParameterFieldInfo = От;

Ответ №1:

Скорее всего, у вас есть многозначный параметр. Поскольку такой параметр хранит значения в виде массива, вам нужно «сгладить» массив. Если это строковый параметр, вы можете просто создать формулу, подобную этой:

 Join({?yourStringParameter}, ', ' );
 

Если тип данных не является строковым, выполните цикл по массиву и объедините значения в строковую переменную.