Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 过滤ReportViewer数据?_C#_Mysql_Reportviewer - Fatal编程技术网

C# 过滤ReportViewer数据?

C# 过滤ReportViewer数据?,c#,mysql,reportviewer,C#,Mysql,Reportviewer,我正试图创建一个按钮来按名称加载和过滤我的ReportViewer,但输出是未提供的数据源实例。这是我的密码: private void btnReport_Click(object sender, EventArgs e) { String sql = "Select * from practise Where name ='" + textBox1.Text + "'"; SqlConne

我正试图创建一个按钮来按名称加载和过滤我的ReportViewer,但输出是未提供的数据源实例。这是我的密码:

private void btnReport_Click(object sender, EventArgs e)
        {
            String sql = "Select * from practise Where name ='" + textBox1.Text + "'";
            SqlConnection con = new SqlConnection(ConnectionString);
            SqlDataAdapter adp = new SqlDataAdapter(sql, con);
            DataSet ds = new DataSet();
            adp.Fill(ds);
            ReportDataSource rds = new ReportDataSource("practise", ds.Tables[0]);
            reportViewer2.ProcessingMode = ProcessingMode.Local;
            reportViewer2.LocalReport.ReportPath = "Report1.rdlc";
            if (ds.Tables[0].Rows.Count > 0)
            {
                reportViewer2.LocalReport.DataSources.Clear();
                reportViewer2.LocalReport.DataSources.Add(rds);
                reportViewer2.RefreshReport();
            }

这可能很简单。请检查报告中的数据集名称是否默认为“DataSet1”。此外,请确保报告的路径正确。以下是一个工作示例:

using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DemoDB"].ConnectionString))
            {
                 String sql = "Select * from practise Where name ='" + textBox1.Text + "'";
                SqlDataAdapter adp = new SqlDataAdapter(sql, con);
                DataSet ds = new DataSet();
                adp.Fill(ds);
                ReportDataSource rds = new ReportDataSource("DataSet1", ds.Tables[0]);
                reportViewer2.ProcessingMode = ProcessingMode.Local;
              reportViewer2.LocalReport.ReportPath = "Report1.rdlc";
                if (ds.Tables[0].Rows.Count > 0)
                {
                    reportViewer2.LocalReport.DataSources.Clear();
                    reportViewer2.LocalReport.DataSources.Add(rds);
                    reportViewer2.RefreshReport();
                }
            }
我希望这能帮助别人