WEB程式需要列印格式頁面時解決方案匯總
<mce:style media=print><!--</p><p>.noprint{display:none;}<br />.PageNext{page-break-after: always;}<br />--></mce:style><style media=print mce_bogus="1"><br />.noprint{display:none;}<br />.PageNext{page-break-after: always;} </style>
//頁面裡面的代碼,非常經典的WEB列印代碼<br /> <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0><br /> </OBJECT><br /> <!-- <input type=button value=列印 onclick=document.all.WebBrowser.ExecWB(6,1)> --><br /><input name="Submit2" type="button" value="返回重選" onClick="history.back(1);"><br /> <input name="button" type=button onclick=document.all.WebBrowser.ExecWB(8,1) value=版面設定><br /> <input name="button" type=button onClick=document.all.WebBrowser.ExecWB(7,1) value=預覽列印><br /> <input name="button" type=button onClick=document.all.WebBrowser.ExecWB(6,6) value=列印><br /> <input name="submit" type=submit value=提交>
網上網友整理的對於這方面的資料
對IEWebBrowser這個組件的execWB方法整理了一下
1. <object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
2. 調用方法。
WebBrowser.ExecWB nCmdID, nCmdExecOpt, [pvaIn], [pvaOut]
3. 參數說明。
(a).nCmdID
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SAVE = 3,
OLECMDID_SAVEAS = 4,
OLECMDID_SAVECOPYAS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20
OLECMDID_UPDATECOMMANDS = 21
OLECMDID_REFRESH = 22
OLECMDID_STOP = 23
OLECMDID_HIDETOOLBARS = 24
OLECMDID_SETPROGRESSMAX = 25
OLECMDID_SETPROGRESSPOS = 26
OLECMDID_SETPROGRESSTEXT = 27
OLECMDID_SETTITLE = 28
OLECMDID_SETDOWNLOADSTATE = 29
OLECMDID_STOPDOWNLOAD = 30
上面的關鍵詞都可以在瀏覽器的菜單裡面找到對應的選項﹐大家一看就明白的﹗
(b).nCmdExecOpt
OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
LECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3
對於這個參數﹐一般來說﹐選1就可以了。
這是調用IE的”另存新檔”功能的樣本﹕
<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
<A href="javascript:WebBrowser.ExecWB(4,1);">Save-儲存</A>
______________________________________________________________________________________________
OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=WebBrowser width=0></OBJECT>
<table><tr><td>
<input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=開啟>
</td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(2,1)
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存新檔></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=屬性></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=列印></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=列印>不會彈出印表機視窗</td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=預覽列印 ></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=版面設定></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=查看頁面屬性></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(15,1) type=button value=撤銷></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全選></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=重新整理></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=關閉表單無提示></td></tr>
<tr><td><input type=button value=重新整理 name=refresh onclick="window.location.reload()">
</td></tr>
另外 對於 GRIVIEW顯示需要列印換頁的 用了下面的解決方案
在GridView1_RowDataBound實踐中插入一列允許存取號,根據行號%10 (就是每10行更換一頁),插入一個新行
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)<br /> {<br /> if (e.Row.RowIndex != -1)<br /> {<br /> int id = e.Row.RowIndex + 1;<br /> //實現每10行分頁的 但是效果不是很好<br /> if (id%10==0)<br /> {<br /> GridViewRow newRow = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal);<br /> newRow.Cells.Add(new TableCell());<br /> newRow.Cells[0].ColumnSpan = e.Row.Cells.Count;<br /> newRow.Cells[0].Text = "<div class=PageNext></div>";<br /> this.GridView1.Controls[0].Controls.Add(newRow);<br /> }<br /> e.Row.Cells[0].Text = id.ToString();<br /> }</p><p> }
另外CSDN的網友 也有更加詳細的一篇整理 幾乎非常完整 ,但是裡面用EXCEL的方法列印 我沒有調試出來 ,先記錄下來。
http://blog.csdn.net/xwchen/archive/2007/05/31/1633103.aspx