2013-10-06 175 views
0

当我从我的页面的下拉列表中选择销售人员时,我想在管理面板中显示报告,但没有显示任何内容,并在此处显示一些错误。在asp.net中使用报告查看器生成报告

下面是我的代码:

protected void BtnViewReport_Click(object sender, EventArgs e) 
{ 
    ReportViewer1.ProcessingMode = ProcessingMode.Local; 
    ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/SalesPerson.rdlc"); 
    DataSet ds = GetData("select * from customer_new where salesperson in (select + 
    email from Registration where name='" + ddsalesperson.SelectedValue.ToString() + 
    "')"); 
    ReportDataSource datasource = new ReportDataSource("customer_new",ds.Tables[0]); 
    ReportViewer1.LocalReport.DataSources.Clear(); 
    ReportViewer1.LocalReport.DataSources.Add(datasource); 
} 
private DataSet GetData(string query) 
{ 
    string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 
    SqlCommand cmd = new SqlCommand(query); 
    using (SqlConnection con = new SqlConnection(conString)) 
    { 
     using (SqlDataAdapter sda = new SqlDataAdapter()) 
     { 
      cmd.Connection = con; 
      sda.SelectCommand = cmd; 
      using (DataSet ds = new DataSet()) 
      { 
        sda.Fill(ds, "customer_new"); 
        return ds; 
      } 
     } 
    } 
} 

,我得到以下错误:

的数据源实例尚未为数据源 “数据集1”提供。

回答

0

该错误表示数据集“DataSet1”未收到数据。我猜测数据集“customer_new”实际上不存在,或者如果它有2个数据集,其中一个数据集可能使用也可能不使用。 Try:

ReportDataSource datasource = new ReportDataSource("DataSet1",ds.Tables[0]);