精品推荐
ASP.NET中应用XML技术实现Web报表打印
日期:2008年4月23日 作者: 查看:[大字体
中字体 小字体 ]
XML主要用来描述打印报表的名称,数据来源,格式,分页打印等信息,具体标签可自己定义,下面是笔者针对会员管理系统报表打印所制定的XML文档: MemberList.xml <?xml version="1.0" encoding="utf-8" ?> <XmlReport> <Page> <Title>Member Information</Title> <ApplyXSLT></ApplyXSLT> </Page> <Report> <Title>Member List</Title> <TableName>MemberList</TableName> <SQLdataConnection>Data Source=localhost;User ID=sa;password=;Initial Catalog=XMLReport;</SQLdataConnection> <OleDbConnection></OleDbConnection> <Sql>Select MemberID, prefix+'. '+ firstname+' '+ surname AS [Member Name],CityOrTown,State,PostCode, '$'+convert(varchar(12),FeesPaid) As Fees From Members;</Sql> <PageSize>10</PageSize> </Report> <Report> <Title>Member Summary</Title> <TableName>MemberSummary</TableName> <SQLdataConnection>Data Source=localhost;User ID=sa;password=;Initial Catalog=XMLReport;</SQLdataConnection> <OleDbConnection></OleDbConnection> <Sql>Select Count(MemberID) As [Member Count], '$'+convert(varchar(12),Sum(FeesPaid)) As [Fees Total] From Members;</Sql> <PageSize></PageSize> </Report> </XmlReport> 标签说明: Page Title:报表标题 ApplyXSLT:应用样式表定制报表 SQLdaraConnection: 数据源连接字串,数据提供者为SQL server OleDbConnection:数据源连接字串,数据提供者为OleDb Sql:选取报表数据的sql语句 PageSize:分页打印,每页显示的记录条数 读者还可以自定义一些更精确的标签来控制报表。 3.2 创建通用打印页面 page_load时读取要打印的报表名 xmlFile = Request.QueryString["report"].ToString() + ".xml"; private void BindReports() { DataSet dsXml = new DataSet(); try { dsXml.ReadXml(Server.MapPath("Reports\\" + xmlFile)); DataTable dtPage = dsXml.Tables["Page"]; DataTable dtReport = dsXml.Tables["Report"]; labelPageTitle.Text = dtPage.Rows[0]["Title"].ToString(); for(int i = 0;i < dtReport.Rows.Count; i++) { GetLabel(i).Text = dtReport.Rows[i]["Title"].ToString(); if(dtReport.Rows[i]["SQLdataConnection"].ToString() != String.Empty dtReport.Rows[i]["Sql"].ToString() != String.Empty dtReport.Rows[i]["OleDbConnection"].ToString() != String.Empty)
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:英文感谢信模板
下一篇:利用XMLHTTP 从其他页面获取数据
相关文章:
相关软件: