[英]How to pass parameters in kendo web method data source in asp.net?
[英]How to pass parameters to a Local report that has object data source in asp.net web application?
我想将参数传递给具有对象数据源的本地报表(从需要参数的c#方法获取数据列表),该怎么办?
#region Parameterized Report
ReportViewer1.ProcessingMode = ProcessingMode.Local;
string FolderPath = Server.MapPath("~/LocalReports");
string ReportName = "ParameterizedReportWizard.rdlc";
string DataSetName = "DataSet1Parameter";
string SelectedMethod = "GetSomeEmployees";
string Parameter = "ID";
ReportViewer1.LocalReport.ReportPath = Path.Combine(FolderPath, ReportName);
ObjectDataSource objDataSource = new ObjectDataSource() { ID = DataSetName, TypeName = "BussinessLogic.Custom", SelectMethod = SelectedMethod};
ReportParameter p1 = new ReportParameter("ReportParameter1", "1"); //I pass the same parameter name tha exist in report definition and it's value is on 1 as static value for now
this.ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1});
ReportDataSource datasource = new ReportDataSource(DataSetName, objDataSource);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(datasource);
#endregion
在将本地报表绑定到您的报表之前,应先执行对本地报表的所有数据访问。 如果可能,在源处进行过滤。
您需要添加到ObjectDataSource.SelectParameter
集合。
string DataSetName = "DataSet1Parameter";
string SelectedMethod = "GetSomeEmployees";
string Parameter = "ID";
ObjectDataSource objDataSource = new ObjectDataSource() { ID = DataSetName, TypeName = "BussinessLogic.Custom", SelectMethod = SelectedMethod};
objDataSource.SelectParameters.Add(new Parameter("id"));
然后订阅ObjectDataSource.Selecting
事件以设置参数。
protected void objDataSource_Selecting
(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["id"] = "1";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.