ASP.NET 开发RDLC

 由于水晶报表导出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

 

后就可以在字段选择里找到相应的参数了

你可能感兴趣的:(ASP.NET 开发RDLC)