Отсутствующие параметры в отчетах Crystal - PullRequest
0 голосов
/ 11 мая 2018

Как и многие другие, у меня также возникают проблемы с отсутствующими параметрами в Crystal Reports.Я изучил другие ответы в отношении этой проблемы, но до сих пор не смог найти решение.Любая помощь приветствуется.Вот что у меня так далеко.Я пытаюсь экспортировать в поток в действии контроллера ASP.NET MVC.

public ActionResult ExportCustomers(int workNum)
        {
            RequestListViewModel requestListViewModel = new RequestListViewModel();
      var x = (stored procedure results).ToList();

            var z = ToDataTable(x);

            ReportDocument rd = new ReportDocument();
            rd.Load(Path.Combine(Server.MapPath("/Reports"), "ReportFormWorkRequest.rpt"));

            rd.SetParameterValue("@WorkReqNum", workNum);

            rd.SetDataSource(z);      

            Response.Buffer = false;
            Response.ClearContent();
            Response.ClearHeaders();

            Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
            stream.Seek(0, SeekOrigin.Begin);
            return File(stream, "application/pdf", "WorkRequests.pdf");
        }

В строке, содержащей «rd.ExportToStream», я получаю сообщение об ошибке: отсутствуют значения параметров.Потому что я не пытался сгенерировать отчет Crystal Report из ASP.NET MVC до того, как я пропустил что-то основное.

Пит

1 Ответ

0 голосов
/ 11 мая 2018

После более подробного изучения я обнаружил, что в основном отчете был 1 параметр, а во вложенных отчетах - 7 дополнительных параметров.Следующий код показывает все действие с отсутствующими параметрами.Хотя он действительно отвечает на вопрос, поставленный в посте, в настоящее время он не возвращает данные в браузер правильно.Это может быть рассмотрено в другом посте.Спасибо тем из вас, кто ответил на мой вопрос.

Пит

 RequestListViewModel requestListViewModel = new RequestListViewModel();
            var x = (stored procedure results).ToList();

            var z = ToDataTable(x);

            ReportDocument rd = new ReportDocument();

            rd.Load(Path.Combine(Server.MapPath("/Reports"), "ReportFormWorkRequest.rpt"));

            rd.SetDataSource(z);

            rd.SetParameterValue("@WorkReqNum", workNum);

            rd.SetParameterValue("@Subparam1", 0, rd.Subreports[0].Name.ToString());
            rd.SetParameterValue("@Subparam2", 0, rd.Subreports[1].Name.ToString());
            rd.SetParameterValue("@Subparam3", 0, rd.Subreports[2].Name.ToString());
            rd.SetParameterValue("@Subparam4", 0, rd.Subreports[3].Name.ToString());
            rd.SetParameterValue("@Subparam5", 0, rd.Subreports[3].Name.ToString());
            rd.SetParameterValue("@Subparam6", 0, rd.Subreports[3].Name.ToString());
            rd.SetParameterValue("@Subparam7", 0, rd.Subreports[4].Name.ToString());

            Response.Buffer = false;
            Response.ClearContent();
            Response.ClearHeaders();

            Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
            stream.Seek(0, SeekOrigin.Begin);

            return File(stream, "application/pdf");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...