筆者為了能夠快速實現簡單的報表列印,設計了下面的方案。編寫乙個通用列印頁面,要列印報表將引數寫入乙個
xml文件,呼叫頁面
xmlreport.aspx?report=
報表名,即可完成報表的製作
3.1
建立自定義的
xml報表檔案
xml主要用來描述列印報表的名稱,資料**,格式,分頁列印等資訊,具體標籤可自己定義,下面是筆者針對會員管理系統報表列印所制定的
xml文件:
memberlist.xml
<?
xmlversion
="1.0"
encoding
="utf-8"
?>
<
xmlreport
>
<
page
>
<
title
>member information
title
>
<
>
>
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:
報表標題
應用樣式表定製報表
sqldaraconnection:
資料來源連線字串,資料提供者為
sql server
oledbconnection:
資料來源連線字串,資料提供者為
oledb
sql:
選取報表資料的
sql語句
pagesize:
分頁列印,每頁顯示的記錄條數
讀者還可以自定義一些更精確的標籤來控制報表。
3.2
建立通用列印頁面
page_load
時讀取要列印的報表名
xmlfile = request.querystring["report"].tostring() + ".xml";
private
void bindreports()
dataset ds = new dataset();
//從report.xml讀取資料源資訊
if(dtreport.rows[i]["sqldataconnection"].tostring() != string.empty)
else
if(dtreport.rows[i]["oledbconnection"].tostring() != string.empty)
//用通用頁面顯示報表
dg.datasource = ds;
dg.databind(); }}
} catch }
3.3
建立定製列印頁面
需要在if
應用xslt
樣式表可以製作出專業的報表樣式,為方便製作,在此推薦使用
xmlspy
帶的stylesheet
。
利用XML實現通用WEB報表列印
利用xml實現通用web報表列印 盧彥 方案適用性 1.遠端資料列印。需要列印的資料並不在本地,必須進行遠端讀取。2.需要精確控制列印效果,包括頁面格式,分頁,附加條目,等。3.出於安全性考慮,不能直接連線到資料庫。方案原理 其實原理很簡單,通過xml強大的自定義功能,我們便能方便的自定義出我們所有...
利用XML實現通用WEB報表列印
專欄作品 利用xml實現通用web報表列印 盧彥 方案適用性 1.遠端資料列印。需要列印的資料並不在本地,必須進行遠端讀取。2.需要精確控制列印效果,包括頁面格式,分頁,附加條目,等。3.出於安全性考慮,不能直接連線到資料庫。方案原理 其實原理很簡單,通過xml強大的自定義功能,我們便能方便的自定義...
利用XML實現通用WEB報表列印
盧彥 方案適用性 1.遠端資料列印。需要列印的資料並不在本地,必須進行遠端讀取。2.需要精確控制列印效果,包括頁面格式,分頁,附加條目,等。3.出於安全性考慮,不能直接連線到資料庫。方案原理 其實原理很簡單,通過xml強大的自定義功能,我們便能方便的自定義出我們所有需要的格式控制標籤,在伺服器端進行...