2011-08-12 3 views
0

모두 안녕하십니까, 검색어로 생성 된 데이터를 보고서에 동적으로 표시하고 싶습니다. 나는 페이지로드 이벤트에 다음 코드를 작성했습니다 :asp.net의 보고서 뷰어를 통해 데이터 dynamicall 표시


다음 코드는 영문 파일로 작성
protected void Page_Load(object sender, EventArgs e) 
    { 
     string sqlQuery = "select * from Login"; 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["RosterConnectionString"].ConnectionString); 
     SqlDataAdapter da = new SqlDataAdapter(sqlQuery, con); 

     DataTable dt = new DataTable(); 
     da.Fill(dt); 

     ReportDataSource rds1 = new ReportDataSource("Reports_Login", dt); 
     DReportViewer.Reset(); 
     DReportViewer.LocalReport.ReportPath = Server.MapPath("MyReport.rdlc"); 
     DReportViewer.LocalReport.DataSources.Clear(); 
     DReportViewer.LocalReport.DataSources.Add(rds1); 
     DReportViewer.DataBind(); 

     DReportViewer.LocalReport.Refresh(); 
    } 

:

<form id="form1" runat="server"> 
    <div> 
     <rsweb:ReportViewer ID="DReportViewer" runat="server"> 
     </rsweb:ReportViewer> 
    </div> 
</form> 

하지만 페이지를 실행할 때, 그것은 내용의 오류를 제공합니다

데이터 소스 인스턴스에 대해 데이터 소스 인스턴스가 제공되지 않았습니다. 'Login_Login'.


이 "Login_Login"라는 보고서의 데이터 소스가 인스턴스로 설정되지 않았 음을 의미합니다 .... 빨리

답변

0

을 저를 도와주세요. '

보고서에 하나의 데이터 소스 만 있습니까? 그래서이

ReportDataSource rds1 = new ReportDataSource("Login_Login", dt); 

처럼 ReportDataSource에 "Login_Login"의 이름을 이름을 변경하려고하면 인스턴스가 보고서에 정의 된 데이터 소스의 이름과 일치하는 줄

이있는 경우 보고서에 여러 개의 데이터 소스가 있으면 인스턴스를 모두 추가하십시오. 이 예의 경우처럼

 LocalReport report = new LocalReport(); 
     report.DataSources.Add(new ReportDataSource("Login_Login", (DataTable)ds.LoginTable)); 
     report.DataSources.Add(new ReportDataSource("Report_Login", (DataTable)ds.ReportLoginTable)); 
     report.DataSources.Add(new ReportDataSource("Report_Another_One", (DataTable)ds.AnotherTable)); 
관련 문제