【问题标题】:how to refresh data in reportviewer?如何刷新reportviewer中的数据?
【发布时间】:2015-09-07 13:13:16
【问题描述】:

我在一个名为 WebForm1 的网络表单中有一个报表查看器,它使用两个名为 fromDatetoDate 的参数来过滤数据。 Web 表单在加载时显示数据。问题是,当我更改 fromDatetoDate 字段并单击 button1 提交时,它会返回默认日期并重新加载相同的数据。如何使用新的输入日期刷新 reportviewer 数据?如何在带有参数的 webform(不是 winform)中使用 reportviewer?谢谢你的帮助。

这是我的 WebForm1.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication2
{
    public partial class WebForm1 : System.Web.UI.Page

    { 
        protected void Page_Load(object sender, EventArgs e)
        {
            this.fromDate.Text = "8/6/2015";
            this.toDate.Text = DateTime.Now.ToShortDateString();
        }
    }
}

【问题讨论】:

  • 你需要学习如何传递参数和刷新reportviewer。在 google 中查找如何将参数传递给报告查看器,这个 stackoverflow.com/questions/5103784/… 也可以帮助您。
  • @user1698255,当您单击按钮时,页面被加载,并且 fromdate 和 todate 字段填充了您在 page_load 方法中分配的值,所以它就是这样发生的,只需放置两行分配在 !IsPostBack 中就可以了,

标签: c# asp.net webforms


【解决方案1】:

在上述场景中,您需要手动分配 fromDate 和 toDate 值并重新加载它。不需要这样分配。您可以使用“fromDate.Text”从客户端文本框中获取值。然后将这些值传递给您的方法并将正确的数据返回到页面。

【讨论】:

    【解决方案2】:

    您可以从网页中设置 SSRS 报告参数,如下所示

     string reportPath ="Report relative path"
                    // Set the processing mode for the ReportViewer to Remote
                    ReportViewer1.ProcessingMode = ProcessingMode.Remote;
                    ServerReport serverReport = ReportViewer1.ServerReport;
    
                    string reportserver = ConfigurationManager.AppSettings["ReportServer"];
                    string username = ConfigurationManager.AppSettings["Username"];
                    string password = ConfigurationManager.AppSettings["Password"];
                    string domain = ConfigurationManager.AppSettings["Domain"];
    
                    // Set the report server URL and report path
                    serverReport.ReportServerUrl = new Uri(reportserver);
                    serverReport.ReportServerCredentials = new ReportViewerCredentials(username, password, domain);
                    serverReport.ReportPath = reportPath;
    
    
    ReportParameter[] parameters;
                        parameters = new ReportParameter[2];
                        parameters[0] = new ReportParameter("fromDate", "8/6/2015");
                        parameters[1] = new ReportParameter("toDate", DateTime.Now.ToShortDateString());
                        ReportViewer1.ServerReport.SetParameters(parameters); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-07
      • 2013-01-08
      • 2022-12-31
      • 2011-03-09
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多