2012-01-13 9 views
0

ページInitイベントで動的に生成された内部TabContainer TabPanelの中​​にReportViewerがあります。 OnActiveTabChangedイベントのレポートを読み込み、SelectedIndexChangedイベントのレポートを更新したいとします。動的に作成されたTabPanel内のレポートのリフレッシュ

DropDownListの選択した値を変更しても、レポートはどのように変化しません。

注:SelectedIndexChanged内のdebugおよびloadReportが正しく実行されます。

以下は私のコードの一部です。

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 runtime error: Sys.WebForms.PageRequestManagerServerErrorException: The Update method can only be called on UpdatePanel with ID 'ReportArea' before Render." Can anybody give a solution to this.

ありがとう:私がやったとき
iは、以下のランタイム・エラーを得ました。

答えて

0

autoRefreshにレポートを伝えたときに同じエラーが発生しました。これは、ReportViewerのJavaScript(Microsoft.Reporting.WebFormsClient._ReportAreaAsyncLoad)の一部をオーバーライドするために挿入したjavascriptによって発生しました。早くなってきた。私のカスタムJavaScriptは余分な非同期ロードポストバックを引き起こしていました。私はそれとの自動リフレッシュの競合を推測する。

あなたの問題の原因がわかりません。