Обновление отчета внутри динамически созданной TabPanel - PullRequest
0 голосов
/ 13 января 2012

У меня есть ReportViewer внутри внутренней TabContainer TabPanel, которую я генерировал динамически в событии Page Init. Я загружаю отчет о событии OnActiveTabChanged и хочу обновить отчет о событии SelectedIndexChanged.

Как только отчет не изменяется, когда я изменяю выбранное значение DropDownList.

Примечание: я отлаживаю, и loadReport внутри SelectedIndexChanged выполняется правильно.

Следующее является частью моего кода.

    protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList DDL = (DropDownList)sender;

        ReportViewer rptViewer = (ReportViewer)DDL.Parent.FindControl("rptDateElectricity");

        if (rptViewer == null)
        {
            rptViewer = new ReportViewer();
            rptViewer.ID = "rpt" + "Date" + "Electricity"
            rptViewer.Width = Unit.Pixel(1100);
            loadReport(rptViewer, DDL, "Electricity", "Date");
            DDL.Parent.Controls.Add(rptViewer);
        }

    }


    protected void TCInner_OnActiveTabChanged(object sender, EventArgs e)
    {     
       ..............................
       ..............................

            ReportViewer rptViewer = (ReportViewer)DDL.Parent.FindControl("rptDateElectricity");

            if (rptViewer == null)
            {
                rptViewer = new ReportViewer();
                rptViewer.ID = "rpt" + "Date" + "Electricity"
                rptViewer.Width = Unit.Pixel(1100);
                loadReport(rptViewer, DDL, "Electricity", "Date");
                loadReport(rptViewer, DDL, monitoringObject, timePeriod);
            }              

        }            
    }

Я считаю, что это проблема с состоянием просмотра.
Я попытался установить EnableViewState false для средства просмотра отчетов.
Когда я это сделал, я получил следующую ошибку во время выполнения:

"Ошибка времени выполнения Microsoft JScript: Sys.WebForms.PageRequestManagerServerErrorException: обновление метод может быть вызван только на UpdatePanel с идентификатором «ReportArea» Render. "Кто-нибудь может дать решение этого.

Спасибо заранее.

1 Ответ

0 голосов
/ 03 августа 2012

Я получил ту же ошибку, когда я сказал свой отчет autoRefresh, и это было вызвано некоторым javascript, который я вставил, чтобы переопределить некоторые из JavaScript ReportViewer (Microsoft.Reporting.WebFormsClient._ReportAreaAsyncLoad), чтобы исправить ошибку, которую я было раньше. Мой пользовательский javascript вызывал дополнительные асинхронные постбэки загрузки. Я думаю, что автообновление конфликтует с этим.

Не уверен, что это является причиной вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...