none
Ошибка при нажатии на меню "Действия" в веб-части ReportViewer. RRS feed

  • Вопрос

  • Добрый день!

    Я создал страницу приложения с панелью, на которую после нажатия кнопки добавляется контрол ReportViewerWebPart. Отчёт успешно выводится на страницу, но при нажатии на меню "Действия" выводится следующее сообщение: "Ошибка при выборке данных. Обновите страницу и повторите попытку".

    Как мне разобраться с этой проблемой?

    P.S. Ниже представлен код обработчика события нажатия на кнопку:

    void createChartButton_Click(object sender, EventArgs e) { ReportViewerWebPart rwp = new ReportViewerWebPart(); rwp.Height = "1000"; rwp.Title = ""; rwp.ToolBarMode = ToolBarDisplayMode.Full; rwp.ToolBarItemsDisplayMode = ToolBarItem.Export | ToolBarItem.Print | ToolBarItem.Zoom; rwp.AutoGenerateTitle = false; rwp.AutoGenerateDetailLink = false; rwp.KeepSessionAlive = false; rwp.ScrollBars = ScrollBars.Vertical; rwp.AsyncRendering = false; rwp.ReportPath = "Shared Documents/Categories.rdl"; ReportParameterDefaultCollection parameters = rwp.OverrideParameters; parameters.Add(new ReportParameter("StartDate", StartDate.SelectedDate.ToString())); parameters.Add(new ReportParameter("EndDate", EndDate.SelectedDate.ToString())); Content.Controls.Add(rwp); }


Ответы

  • В общем, я решил плюнуть на программное создание ReportViewerWebPart, и вместо этого сделал программное создание PageViewerWebPart со ссылкой на страницу отчёта с нужными параметрами в GET-запросе. Конечный код стал таким:

    void createReportButton_Click(object sender, EventArgs e)
    {
                PageViewerWebPart pvwp = new PageViewerWebPart();
                pvwp.Height = "1000";
                pvwp.Title = "";
                pvwp.ContentLink = SPContext.Current.Web.Url +
    "/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/DocLib/Categories.rdl&Source="
                + SPContext.Current.Web.Url
    + "%2FDocLib%2FForms%2FAllItems%2Easpx&rv:ToolBarItemsDisplayMode=212&rv:HeaderArea=None&rv:ParamMode=Hidden&rp:StartDate="
                + StartDate.SelectedDate.ToString()
                + "&rp:EndDate=" + EndDate.SelectedDate.ToString();
    
                Content.Controls.Add(pvwp);
    }

Все ответы

  • Может стоит в фиддлере посмотреть какой запрос идет на сервер.

    --------------------------------------------

    краш-тесты авто | калькулятор автокредита

    • Изменено batter111 10 июня 2014 г. 10:43
  • В общем, я решил плюнуть на программное создание ReportViewerWebPart, и вместо этого сделал программное создание PageViewerWebPart со ссылкой на страницу отчёта с нужными параметрами в GET-запросе. Конечный код стал таким:

    void createReportButton_Click(object sender, EventArgs e)
    {
                PageViewerWebPart pvwp = new PageViewerWebPart();
                pvwp.Height = "1000";
                pvwp.Title = "";
                pvwp.ContentLink = SPContext.Current.Web.Url +
    "/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/DocLib/Categories.rdl&Source="
                + SPContext.Current.Web.Url
    + "%2FDocLib%2FForms%2FAllItems%2Easpx&rv:ToolBarItemsDisplayMode=212&rv:HeaderArea=None&rv:ParamMode=Hidden&rp:StartDate="
                + StartDate.SelectedDate.ToString()
                + "&rp:EndDate=" + EndDate.SelectedDate.ToString();
    
                Content.Controls.Add(pvwp);
    }