How to implement client printing with Crystal Report10 (Enterprise Edition)

xiaoxiao2021-03-06  40

Under normal circumstances, you can print any code. If you can't print, please check if you have already installed the printer. Second, whether the program written has a problem, such as whether it is form_load with if (! This.ispostback) to block the read data part, because it is necessary to get from the new to get data when printing.

The problem is finally solved, post the source code

<% @ Register TagPrefix = "cr" Namespace = "CrystalDecisions.Web" Assembly = "CrystalDecisions.Web, Version = 10.0.3300.0, Culture = neutral, PublicKeyToken = 692fbea5521e1304"%> <% @ Register TagPrefix = "ce" Namespace = "CrystalDecisions.Enterprise.WebControls" Assembly = "CrystalDecisions.Enterprise.Web, Version = 10.0.3300.0, Culture = neutral, PublicKeyToken = 692fbea5521e1304"%> <% @ Page language = "c #" Codebehind = "Customers.aspx.cs" Autoeventwireup = "false" inherits = "angssine.web.report.customers"%> Customers < / title> <meta name = "GENERATOR" Content = "Microsoft Visual Studio .NET 7.1"> <meta name = "CODE_LANGUAGE" Content = "C #"> <meta name = "vs_defaultClientScript" content = "JavaScript"> <meta name = "vs_targetschema" content = "http://schemas.microsoft.com/intellisense/ie5"> <link type = "text / css" rel = "stylesheet" href = "../ css.css"> </ head > <Body> <form id = "form1" method = "post" runat = "server"> <font face = "Song"> </ font> <cr: Cry stalReportViewer id = "CrystalReportViewer1" runat = "server" Height = "50px" Width = "350px" AutoDataBind = "true" HasExportButton = "False" HasGotoPageButton = "False" HasSearchButton = "False"</p> <p>HasToggleGroupTreeButton = "False" HasZoomFactorList = "False"> </ cr: CrystalReportViewer> <BR> <asp: Button id = "btnCustomers" runat = "server" Text = "Customers"> </ asp: Button> <asp: Button ID = "btnemployees" runat = "server" text = "Employees"> </ asp: button> <ask: button id = "btnproducts" runat = "server" text = "products"> </ asp: button> <br > </ form> </ body> </ HTML> using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System .Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using CrystalDecisions.Shared; // TableLogOnInfo class using CrystalDecisions.CrystalReports.Engine; // ReportDocument class</p> <p>Namespace Angushine.Web.Report {/// <summary> /// Customers' summary description. /// </ summary> public class Customers: System.Web.UI.Page {protected System.Web.UI.WebControls.Button btnEmployees; protected System.Web.UI.WebControls.Button btnProducts; protected System.Web.UI. WebControls.Button BTNCUSTOMERS; protected crystaldecisions.web.crystalReportviewer CrystalReportViewer1;</p> <p>Private static reportDocument ORPT; Private Void Page_load (Object Sender, System.EventArgs E) {if (! ispostback) {</p> <p>} Else {// If the report has been previewed once, the ReportSource needs to be // set on each postback. When the Preview Report button is first clicked, // it loads the report, binds it to the viewer, and puts the ReportDocument // object into a Session varable This code pulls that ReportDocument object // from Session and reassigns the viewer's ReportSource, for each postback if (oRpt = null!) {CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX;.. CrystalReportViewer1 .Reportsource = orpt;}}} #Region Web Form Designer Generated Code Override Protected Void OnNit (Eventargs E) {// // Codegen: This call is required for the ASP.NET Web Form Designer. // InitializeComponent (); base.onit (e);} /// <summary> /// Designer Supports the required method - Do not use the code editor to modify the // / this method. /// </ summary> private void InitializeComponent () {this.btnCustomers.Click = new System.EventHandler (this.btnCustomers_Click); this.btnEmployees.Click = new System.EventHandler (this.btnEmployees_Click); this.btnProducts .Click = new system.eventhandler (this.btnproducts_click; this.load = new system.eventhandler (this.page_load);</p> <p>} #Endregion</p> <p>Private Void BTNCUSTOMERS_CLICK (Object sender, system.eventargs e) {/ * * Pull mode, build RPT files, and web pages, where the page control does not need to specify the data source. * * / TableLogonInfo LogonInfo = New TableLogonInfo (); ORPT = New REPORTDocument ();</p> <p>String path = this.server.mappath ("crreports / customers.rpt"); ORPT.LOAD (PATH); / * MS Server 2000 database, other modified changes * / logoninfo.connectioninfo.servername = "localhost"; logonInfo // Create a file between CryStalReportviewer .rpt file; .ConnectionInfo.UserID = "sa"; logOnInfo.ConnectionInfo.Password = "sa"; oRpt.Database.Tables [0] .ApplyLogOnInfo (logOnInfo); CrystalReportViewer1.ReportSource = oRpt Connection // The ReportDocument Object Will Need To Placed Into Session So That // on Each Postback, The Viewer's Reportsource Can Be Set To this Instance Session.Add ("Report", ORPT);</p> <p>private void btnEmployees_Click (object sender, System.EventArgs e) {string strDB = System.Configuration.ConfigurationSettings.AppSettings [ "strDB"]; SqlConnection conn = new SqlConnection (strDB); SqlDataAdapter da = new SqlDataAdapter ( "Select * from Employees" , CRREPORTS.DATASET1 DS = new angushine.web.report.crreports.dataset1 (); crreports.employees myrpt = new angushine.web.report.crreports.employees (); da.fill (DS, "t") Myrpt.SetDataSource (DS.Tables ["T"]); myrpt.refresh (); this.crystalReportViewer1.reportsource = Myrpt; //myrpt.printtoprinter (1 ,true, 1, 1); this.crystalReportViewer1.DATABIND ( }</p> <p>private void btnProducts_Click (object sender, System.EventArgs e) {// the data source is connected to Access oRpt = new ReportDocument (); string path = this.Server.MapPath ( "CrReports / Customer.rpt"); oRpt.Load (path CrystalReportViewer1.Reportsource = ORPT;}</p> <p>Private Void ReportPrint1_submitclicked (Object Sender, System.EventArgs E) {//orpt.printtoprinter (1, False, 0,0);}</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-73740.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="73740" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.043</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'GH51aC4Zi10oA4BbxPLZA_2F8Iy8212BpKFIPPKXdK90ycLlTm6g5umalJfHMnMHeLvjKCJDcYl9TrDfqnv6ikdQ_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>