本地模式的应用其实跟gridview的应用差不多,建立一个dataset 后赋值给reportViewer控件就行了.
主要的代码如下所示:
reportViewer.ProcessingMode = ProcessingMode.Local;
LocalReport localReport = reportViewer.LocalReport;
localReport.ReportPath = "wkfl.rdlc";
localReport.DataSources.Clear();
DataSet dataset = new DataSet();
StringBuilder sb = new StringBuilder();
sb.AppendFormat("select * from rpt_wkfl where y={0} and wkshop={1} order by y,m", DropDownList1.SelectedValue, DropDownList2.SelectedValue);
dataset = SqlHelper.ExecuteDataSet(SqlHelper.ConnectionString1, sb.ToString());
ReportDataSource rdwkfl = new ReportDataSource();
rdwkfl.Name = "wkfl";
rdwkfl.Value = dataset.Tables[0];
localReport.DataSources.Add(rdwkfl);
//如果有参数的话
ReportParameter y = new ReportParameter();
y.Name = "y";
y.Values.Add(this.DropDownList1.SelectedValue );
localReport.SetParameters(new ReportParameter[] { y});
值得注意的就是name 必须与wkfl.rdlc中的name 一致.
主要的代码如下所示:
reportViewer.ProcessingMode = ProcessingMode.Local;
LocalReport localReport = reportViewer.LocalReport;
localReport.ReportPath = "wkfl.rdlc";
localReport.DataSources.Clear();
DataSet dataset = new DataSet();
StringBuilder sb = new StringBuilder();
sb.AppendFormat("select * from rpt_wkfl where y={0} and wkshop={1} order by y,m", DropDownList1.SelectedValue, DropDownList2.SelectedValue);
dataset = SqlHelper.ExecuteDataSet(SqlHelper.ConnectionString1, sb.ToString());
ReportDataSource rdwkfl = new ReportDataSource();
rdwkfl.Name = "wkfl";
rdwkfl.Value = dataset.Tables[0];
localReport.DataSources.Add(rdwkfl);
//如果有参数的话
ReportParameter y = new ReportParameter();
y.Name = "y";
y.Values.Add(this.DropDownList1.SelectedValue );
localReport.SetParameters(new ReportParameter[] { y});
值得注意的就是name 必须与wkfl.rdlc中的name 一致.