как я могу передать значение параметра в текстовое поле отчета Telerik в подробном пространстве

Я использовал отчеты Telerik для своего проекта aspx, и в этом проекте я хочу, чтобы пользователь мог установить какой-либо элемент отчета. для достижения этой цели я использую параметр и создаю параметр, как на рис. 1, а на рис. 2 это свойство этого параметра, и я использую его в своем отчете, как на рис. 3, но, по крайней мере, когда я запускаю свой проект, я вижу рис. 4, мой вопрос: это мой код неверен, и как я могу установить элемент моего отчета пользователем в пространстве отчета, когда я использую параметры, которые они загружают и показывают в области параметров, как я могу показать их в подробном пространстве отчета? что не так в моем коде?введите здесь описание изображениявот мой код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using schduleing_report;//its my dll report

namespace telerikreporttest
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Report2 report = new Report2();

            var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
            instanceReportSource.ReportDocument = new schduleing_report.Report2();
            instanceReportSource.Parameters.Add("param", "hi it work");
            this.ReportViewer1.ReportSource = instanceReportSource;

            instanceReportSource.Parameters.Add("testparam", "textbox2 is work too");

            ReportViewer1.RefreshReport();

        }
    }
}

person sara Sodagari    schedule 15.06.2013    source источник


Ответы (1)


когда вы определили первый параметр, то есть «параметр», вы выбрали MultiValue=True. Поэтому, когда вы читаете значение параметра непосредственно в текстовом поле, он будет указывать тип, который является массивом объектов. Многозначность заставит текстовое поле принимать более одного значения.

Вместо этого, если вы установите MultiValue=false, параметр всегда будет содержать только 1 значение, и тогда в вашем отчете будет отображаться правильное значение.

Если вам нужно иметь MultiValue=true для параметра param, сделайте следующее, чтобы получить текст в текстовое поле в отчете:

  • В дизайнере - правой кнопкой мыши по текстовому полю. выберите выражение
  • В окне редактирования выражения - добавьте следующее выражение - = Join(", ", Parameters.param.Value)

Запустите отчет, теперь вы получите правильный текст, установленный в качестве значения текстового поля.

Функция Join() принимает 2 параметра. первый - это строка-разделитель, а второй - массив объектов, который содержит значения, которые необходимо соединить. Таким образом, когда для параметра MultiValue установлено значение true, значением параметра является значение object[]. Поэтому вам нужно преобразовать это в текстовый формат с помощью функции join().

Надеюсь это поможет.

person kashyapa    schedule 16.06.2013
comment
спасибо за ваш ответ да моя проблема исправлена ​​вашим ответом спасибо - person sara Sodagari; 17.06.2013