2009-10-27 2 views

답변

0

귀하의 질문에 더 많은 세부 사항을 넣으십시오. 그러나 MSDN ReportViewer Controls은 혼자서 더 배우기에 매우 좋을 것입니다.

0

한 가지를 확인, I는 Microsoft 보고서 뷰어 컨트롤을 피할 것. 브라우저 컨트롤을 사용하고 브라우저를 사용할 때처럼 URL의 매개 변수를 전달하여 보고서를 탐색하면됩니다.

이것은 여러 가지 이유로 훨씬 좋습니다.

  1. MS Report Viewer Control에는 많은 버그가 있습니다.
  2. 브라우저와 보고서 뷰어는 여백 등으로 보고서를 다르게 렌더링합니다. 따라서 웹 응용 프로그램으로 전환하고 브라우저를 사용하여 보고서에 액세스해야하는 경우 대부분의 보고서를 조정해야합니다. 이것은 다음 호에 저를 데려옵니다. . .
  3. 웹 응용 프로그램으로 이동해야하는 경우 이미 만든 브라우저 기능을 사용하는 대신 보고서를 호출하는 방법, 매개 변수를 전달하는 방법 등을 다시 구현해야합니다 (컨트롤을 사용하여 보고서에 다른 방식으로 액세스합니다. .

    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 유용한 정보를 많이 가지고 : 당신이 진정 보고서 뷰어 컨트롤을 사용하려면 여기에, 그렇지 않으면)

을 브라우저를 사용하여()는 .NET 2.0을 사용하여 샘플입니다.

+0

일부 편집을했는데 첫 번째 코드가 제대로되지 않았을 것입니다. 그래도 이제는 좋을 것 같습니다. – richard

관련 문제