由于水晶报表导出XLS显示不够直观,现在笔记一个vs2008自动的RDLC报表实例,
前台:
1\新建一个ASPX页面,并把MicrosoftReportViewer控件拖放进去页面中,
2\新建一个RDLC报表,
3\新建一个sxd供数据库源
后台:
绑定涵数:
public DataTable Query_print(string Comtype_scr, string Company_type,string maxter_ID)
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["gft_esp"].ConnectionString))
{
string SQLString = "SELECT......";
DataTable dadr = new DataTable();
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
dadr = ds.Tables["ds"];
}
catch (System.Data.SqlClient.SqlException ex)
{
// return dadr;
connection.Close();
}
finally
{
connection.Close();
}
return dadr;
}
}
DataTable dads = inv_report.Query_print(Comtype_scr, Company_type, maxter_ID);数据集绑定
Report_invoice.ProcessingMode = ProcessingMode.Local;//本地化报表
Report_invoice.LocalReport.ReportPath = @"ReportTemplate/invoice_Report.rdlc";//绑定RDLC
Report_invoice.LocalReport.DataSources.Add(new ReportDataSource("v_inv_to", dads));
//绑定数据源,字段要与SXD对应哦
Report_invoice.LocalReport.Refresh();
RDLC:
添加数据源: Report---data sources..--选中SXD中的数据源,点OK保存退出
在Body中拖放一个Table控件,设置相关数据源,选中,Table 右键属性,找到,Dataset neme 下拉有得选的,后就可以设置相关字段了,很方便的
SXD:
拖放一个TableAdapter控件,并设置相对应的数据源,记录一定要与方法涵數里的字段对应哦,
技巧:
RDLC的Body除外的地方,不可以直接使用字段来显示的,那我们就得使用ASPX传参数给RDLC了,
1/我们在ASPX 页里进行传递:
List<ReportParameter> parameterList = new List<ReportParameter>();
parameterList.Add(new ReportParameter("Contact", dads.Rows[0]["Contact"].ToString()));
Report_invoice.LocalReport.SetParameters(parameterList);
2/RDLC报表进行接收:
添加数据源: Report---report parameters--Add 进行设置,记录这里同的记录要与ASPX里的设置的字符串一样哦,如:Contact
后就可以在字段选择里找到相应的参数了