我在一个名为WebForm1
的网络表单中有一个报表浏览器,使用名为fromDate
和toDate
的2个参数来过滤数据。 webform在加载时显示数据。问题是,当我更改fromDate
,toDate
字段并单击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();
}
}
}
答案 0 :(得分:2)
在上面的场景中,您可以手动分配fromDate和toDate值并重新加载它。不需要这样分配。您可以使用“fromDate.Text”从客户端文本框中获取值。然后将这些值传递给您的方法并将正确的数据返回到页面。
答案 1 :(得分:0)
您可以从网页设置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);