c# - 基于新的 RDLC 文件重新加载和刷新报表查看器

标签 c# .net reporting-services reportviewer rdlc

我使用 VS 2008 编写了一个 C# 程序,该程序使用内置的报表查看器并在本地处理报表。

当查看报表时,我想用一个新文件替换当前的 rdlc 文件并刷新报表而不关闭包含报表查看器的报表。

我已经检查过以确保文件生成正确。如果我用报告查看器关闭表单并打开它备份新文件信息显示。我只是不知道如何在不关闭父窗体的情况下重新加载报表查看器。

下面是我已经尝试过的。我没有收到任何错误消息。该报告似乎刷新了,但它实际上只是向我展示了我已经在看的内容。未加载新的 RDLC 文件。

private void BtnRefreshRpt_Click(object sender, EventArgs e)
    {

        try
        {

            GenerateNewRDLC GN = new GenerateNewRDLC();
            GN.generateFile();  /*this part definitely works*/


            SqlConnection conReport = new SqlConnection     (ConfigurationManager.ConnectionStrings["Connection String Info"].ConnectionString);
            SqlCommand cmdReport = new SqlCommand();
            SqlDataReader drReport;
            DataSet dsReport = new AdvEdgeDataSet();

            conReport.Open();

            cmdReport.CommandType = CommandType.Text;
            cmdReport.Connection = conReport;
            cmdReport.CommandText = strRptCriteria;

            drReport = cmdReport.ExecuteReader();

            dsReport.Tables[0].Load(drReport);

            drReport.Close();
            conReport.Close();

            reportViewer1.LocalReport.ReportPath = strRptResource.ToString();


            ReportDataSource rds = new ReportDataSource();
            rds.Name = strRptDataSource;
            rds.Value = dsReport.Tables[0];
            reportViewer1.LocalReport.DataSources.Add(rds);
            reportViewer1.RefreshReport();
            reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);

            //this.reportViewer1.RefreshReport();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

最佳答案

尝试在加载新报告文件之前调用 ReportViewer.Reset()。

我目前正在我的 ReportViewer 控件中执行此操作,但是,源代码正在运行。如果重置不起作用,我会在星期一早上在这里发布我的代码。绝对可以做到。

关于c# - 基于新的 RDLC 文件重新加载和刷新报表查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1345373/

相关文章:

c# - 将流程函数中的 C# 移动到 SQL Server CLR 函数

c# - 如何在 View WPF 中创建 View

c# - 为什么我不能将一个游戏对象分配给另一个游戏对象的公共(public)变量

c# - 设置文本框值的小数位

sql - 以编程方式在 SSRS 报告上设置自动刷新

c# - 将 Windows 窗体 ToolStripMenuItem ShortcutKeys 属性设置为小键盘键不起作用

.net - VB.NET是否优化字符串文字的串联?

c# - 从Elasticsearch结果中检索数据

.net - 获取字符串后的单词

sql-server - 从本地 SQL Server SSRS 连接到在线 SQL Azure DB