Добавить переменные в Crystal Reports - PullRequest
0 голосов
/ 07 февраля 2012

Как добавить переменные в Crystal Reports из C #.Например, мне нужно добавить название отдела и даты начала / окончания в заголовок отчета.

1 Ответ

2 голосов
/ 07 февраля 2012

Передача одного или нескольких параметров любого типа данных из C # в Crystal Report ... Можно написать код в событии загрузки страницы.

  if (Session["RPT_NAME"] != null)
    {

        ReportDocument rpt = new ReportDocument();
        rpt.Load(Server.MapPath((string)Session["RPT_NAME"]));


        int cnt = rpt.DataDefinition.ParameterFields.Count;
        for (int i = 0; i < cnt; i++)
        {
            ParameterValues myvals = new ParameterValues();
            ParameterDiscreteValue myDiscrete = new ParameterDiscreteValue();

            switch (rpt.DataDefinition.ParameterFields[i].ParameterValueKind)
            {
                case CrystalDecisions.Shared.ParameterValueKind.DateTim eParameter:
                    myDiscrete.Value = Convert.ToDateTime(Request.QueryString[i]);
                    break;

                case CrystalDecisions.Shared.ParameterValueKind.Boolean Parameter:
                    myDiscrete.Value = bool.Parse(Request.QueryString[i]);
                    break;
                case CrystalDecisions.Shared.ParameterValueKind.DatePar ameter:
                    myDiscrete.Value = Convert.ToDateTime(Request.QueryString[i]);
                    break;
                case CrystalDecisions.Shared.ParameterValueKind.NumberP arameter:
                    myDiscrete.Value = int.Parse(Request.QueryString[i]);
                    break;
                case CrystalDecisions.Shared.ParameterValueKind.StringP arameter:
                    myDiscrete.Value = Convert.ToString((Request.QueryString[i]));
                    break;
            }
            myvals.Add(myDiscrete);
            rpt.DataDefinition.ParameterFields[i].ApplyCurrentValues(myvals);
        }
        CrystalReportViewer1.ReportSource = rpt;
        CrystalReportViewer1.DataBind();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...