2009-10-27 45 views

回答

0

在你的問題中提供更多的細節,但據我所知,MSDN ReportViewer Controls將是非常好的,你自己學習更多。

0

一兩件事,我會避免在Microsoft報表查看器控件。只需使用瀏覽器控件,瀏覽報告,像使用瀏覽器時那樣傳遞URL中的參數。

這是好多種原因。

  1. MS報告查看器控件有很多錯誤,你會被困住。
  2. 瀏覽器和報表查看器以略微不同的方式呈現報表,例如邊距等。因此,如果您切換到Web應用程序並需要使用瀏覽器訪問報表,則必須調整大部分報表。這讓我想到下一個問題。 。 。
  3. 如果你需要去一個web應用程序,你將需要重新實現你如何調用報告,傳遞參數等,而不是僅僅使用你已經創建的瀏覽器功能(你使用控件vs不同的方式訪問報告。使用瀏覽器)

否則,如果你真的想使用報表查看器控件,這裏是(使用.NET 2.0)樣本:

ReportViewer rvReportViewerControl = new ReportViewer(); 
    rvReportViewerControl.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote; 
    rvReportViewerControl.ServerReport.ReportServerUrl = new Uri("http://<SERVERNAME>/ReportServer"); 
    rvReportViewerControl.ServerReport.ReportPath = "<FOLDER PATH TO REPORTS>"); 
    rvReportViewerControl.ShowParameterPrompts = false; 
    Microsoft.Reporting.WinForms.ReportParameterInfoCollection rpInfoCollection = rvReportViewerControl.ServerReport.GetParameters(); 
    if (rpInfoCollection.Count > 0) 
    { 
     List<ReportParameter> paramList = new List<ReportParameter>(); 

     foreach (ReportParameterInfo reportParameter in rpInfoCollection) 
     { 
       string parameterName = reportParameter.Name.ToString(); 
       string parameterValue = ""; 
       bool isParameterVisible = reportParameter.Visible; 
       paramList.Add(new ReportParameter(parameterName, parameterValue, isParameterVisible)); 
     } 

     rvReportViewerControl.ServerReport.SetParameters(paramList); 
    } 

    rvReportViewerControl.RefreshReport(); 

This site有很多有用的信息。

+0

做了一些編輯,我的第一個代碼不會很正確。儘管現在應該是好的。 – richard