C# windows窗体中的报表查看器即使在刷新报表后也不更新

C# windows窗体中的报表查看器即使在刷新报表后也不更新,c#,reportviewer,windows-forms-designer,C#,Reportviewer,Windows Forms Designer,我正在尝试通过报表查看器使用单击事件按钮生成报表。工作正常。但当我在数据库报表查看器中更新数据时,只显示旧报表。我也尝试过使用刷新报告。它不起作用。我正在数据集中使用表适配器来填充数据。 this.reportViewer1.Reset() 我刚刚解决了同样的问题。我在网上搜索了几天,但找不到一个好的答案。所以我希望我的帖子能帮助别人克服同样的问题 您只需手动定义连接、重新填充数据集并将源绑定到reportviewer即可。以下是我的项目示例: using Microsoft.Reporting

我正在尝试通过报表查看器使用单击事件按钮生成报表。工作正常。但当我在数据库报表查看器中更新数据时,只显示旧报表。我也尝试过使用刷新报告。它不起作用。我正在数据集中使用表适配器来填充数据。 this.reportViewer1.Reset()


我刚刚解决了同样的问题。我在网上搜索了几天,但找不到一个好的答案。所以我希望我的帖子能帮助别人克服同样的问题

您只需手动定义连接、重新填充数据集并将源绑定到reportviewer即可。以下是我的项目示例:

using Microsoft.Reporting.WinForms;
    private void ReportForm_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\GD Robotics\VisualProjects\GDPolin\GDPolin\PolinaDB.mdf;Integrated Security=True;Connect Timeout=30";
        conn.Open();
        SqlDataAdapter reportDBTableAdapter = new SqlDataAdapter("SELECT * FROM  [ReportDB]", conn);
        DataTable polinaDBDataSet = new DataTable();
        reportDBTableAdapter.Fill(polinaDBDataSet);
        conn.Close();

        this.reportViewer1.Reset();
        this.reportViewer1.LocalReport.DataSources.Clear();
        this.reportViewer1.LocalReport.ReportPath = @"D:\GD Robotics\VisualProjects\GDPolin\GDPolin\Report1.rdlc";
        ReportDataSource rds = new ReportDataSource("DataSet1", polinaDBDataSet);//"DataSet1" is the name of your dataset. Go to .rdlc form>VIEW>Report Data>"Right click on dataset">Dataset Properties
        this.reportViewer1.LocalReport.DataSources.Add(rds);
        this.reportViewer1.RefreshReport();
    }

我刚刚解决了同样的问题。我在网上搜索了几天,但找不到一个好的答案。所以我希望我的帖子能帮助别人克服同样的问题

您只需手动定义连接、重新填充数据集并将源绑定到reportviewer即可。以下是我的项目示例:

using Microsoft.Reporting.WinForms;
    private void ReportForm_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\GD Robotics\VisualProjects\GDPolin\GDPolin\PolinaDB.mdf;Integrated Security=True;Connect Timeout=30";
        conn.Open();
        SqlDataAdapter reportDBTableAdapter = new SqlDataAdapter("SELECT * FROM  [ReportDB]", conn);
        DataTable polinaDBDataSet = new DataTable();
        reportDBTableAdapter.Fill(polinaDBDataSet);
        conn.Close();

        this.reportViewer1.Reset();
        this.reportViewer1.LocalReport.DataSources.Clear();
        this.reportViewer1.LocalReport.ReportPath = @"D:\GD Robotics\VisualProjects\GDPolin\GDPolin\Report1.rdlc";
        ReportDataSource rds = new ReportDataSource("DataSet1", polinaDBDataSet);//"DataSet1" is the name of your dataset. Go to .rdlc form>VIEW>Report Data>"Right click on dataset">Dataset Properties
        this.reportViewer1.LocalReport.DataSources.Add(rds);
        this.reportViewer1.RefreshReport();
    }

报表控件是否托管在UpdatePanel中?否,我正在windows Form上使用报表控件是否托管在UpdatePanel中?否,我正在windows Form上使用此操作对我有效,尽管我不需要重置报表查看器。我只需要在添加新的数据源之前清除数据源。这对我来说很有效,尽管我不需要重置报表查看器。我只需要在添加新数据源之前清除数据源。