我是用vs.net2003自帶的水晶報表9來寫web,其列印是用如下2種方式:
1.匯入word/excel後開啟來實現
2.直接用web頁面上的列印按鈕列印本頁,相關代碼如下:
button的click事件:
Me.CrystalReportViewer1.DisplayToolbar = False
Me.CheckBox1.Visible = True
If Not IsStartupScriptRegistered("Startup") Then
Page.RegisterStartupScript("Startup", "<script language=javascript>Clickheretoprint();</script>")
End If
checkbox的CheckedChanged事件:
If CheckBox1.Checked = True Then
Me.CrystalReportViewer1.DisplayToolbar = True
Me.CheckBox1.Visible = False
Else
Me.CrystalReportViewer1.DisplayToolbar = False
End If
js:
function Clickheretoprint() { //alert(document.all.CrystalReportViewer1.DisplayToolbar); var disp_setting="toolbar=no,location=no,directories=no,menubar=no,"; disp_setting+="scrollbars=yes,width=850, height=560, left=100, top=80"; var content_vlue = document.getElementById("print_content").innerHTML; // var docprint=window.open("","",disp_setting); docprint.document.open(); //docprint.document.write(''); docprint.document.write(''); docprint.document.write(content_vlue); docprint.document.write(''); //docprint.document.write(''); docprint.document.close(); docprint.focus(); }
html:
<SPAN id="print_content">
<CR:CRYSTALREPORTVIEWER id="CrystalReportViewer1" runat="server" Width="350px" Height="50px" DisplayToolbar="True"
HyperlinkTarget=" " HasDrillUpButton="False" DisplayGroupTree="False" DrilldownTarget=" " HasRefreshButton="True"></CR:CRYSTALREPORTVIEWER></SPAN>
p.s.由於水晶報表控件的DisplayToolbar在js中無法表述,所以借用checkbox來實現水晶報表工具條的顯示
期待有更完整更好的寫法。。。

本文介绍了如何在VS.NET 2003的Crystal Reports 9环境下,通过Web页面上的按钮实现报表的打印。有两种方法:1) 导入Word/Excel然后打开;2) 使用Web页面上的列印按钮直接打印。详细代码展示了如何在VB.NET中处理button点击事件和checkbox状态改变,以及JavaScript实现打印功能。同时,由于Crystal Report Viewer的DisplayToolbar在JavaScript中无法控制,因此借助checkbox来控制工具栏的显示。

7274

被折叠的 条评论
为什么被折叠?



