#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}, ', ' );
Если тип данных не является строковым, выполните цикл по массиву и объедините значения в строковую переменную.