【原创】Crystal report 实现打印-网站开发手记

最近开发电子商务系统,里边用到报表打印,批量打出订单,以前没有接触过报表,更别说打印了,今天搞定后,那来与大家交流。
源代码如下:
aspx:
  1 【原创】Crystal report 实现打印-网站开发手记 <% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " ReceiptViewer.aspx.cs "  Inherits = " ReceiptViewer "  MasterPageFile = " ~/themes/default/layout/Simple.master "   %>
  2 【原创】Crystal report 实现打印-网站开发手记
  3 【原创】Crystal report 实现打印-网站开发手记 <% @ Register Assembly = " CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 "
  4 【原创】Crystal report 实现打印-网站开发手记    Namespace = " CrystalDecisions.Web "  TagPrefix = " CR "   %>
  5 【原创】Crystal report 实现打印-网站开发手记 < asp:Content ID = " Content1 "  ContentPlaceHolderID = " ContentPlaceHolder1 "  Runat = " Server " >
  6 【原创】Crystal report 实现打印-网站开发手记  < script language = " javascript " >
  7 【原创】Crystal report 实现打印-网站开发手记 function checkAll(oEle)
  8 【原创】Crystal report 实现打印-网站开发手记 {
  9【原创】Crystal report 实现打印-网站开发手记    var checked = oEle.checked;
 10【原创】Crystal report 实现打印-网站开发手记    while(oEle.tagName!="TABLE")
 11【原创】Crystal report 实现打印-网站开发手记    {
 12【原创】Crystal report 实现打印-网站开发手记       // oEle = oEle.parentElement;
 13【原创】Crystal report 实现打印-网站开发手记        oEle = oEle.parentNode;
 14【原创】Crystal report 实现打印-网站开发手记    }

 15【原创】Crystal report 实现打印-网站开发手记    
 16【原创】Crystal report 实现打印-网站开发手记    var checkBoxs  = oEle.getElementsByTagName("INPUT");
 17【原创】Crystal report 实现打印-网站开发手记    for(var i=0;i<checkBoxs.length;i++)
 18【原创】Crystal report 实现打印-网站开发手记    {
 19【原创】Crystal report 实现打印-网站开发手记        if(checkBoxs[i].type=="checkbox")
 20【原创】Crystal report 实现打印-网站开发手记        {
 21【原创】Crystal report 实现打印-网站开发手记            checkBoxs[i].checked = checked;
 22【原创】Crystal report 实现打印-网站开发手记        }

 23【原创】Crystal report 实现打印-网站开发手记    }

 24【原创】Crystal report 实现打印-网站开发手记}

 25 【原创】Crystal report 实现打印-网站开发手记
 26 【原创】Crystal report 实现打印-网站开发手记function checkSelectList()
 27 【原创】Crystal report 实现打印-网站开发手记 {
 28【原创】Crystal report 实现打印-网站开发手记    var selectList="";
 29【原创】Crystal report 实现打印-网站开发手记    var tbList=document.getElementsByName("tbOrderList");
 30【原创】Crystal report 实现打印-网站开发手记    var chkList=document.getElementsByTagName("INPUT");
 31【原创】Crystal report 实现打印-网站开发手记    if(chkList==nullreturn false;
 32【原创】Crystal report 实现打印-网站开发手记    var length=chkList.length;
 33【原创】Crystal report 实现打印-网站开发手记   
 34【原创】Crystal report 实现打印-网站开发手记    for(i=0;i<length-2;i++)
 35【原创】Crystal report 实现打印-网站开发手记    {
 36【原创】Crystal report 实现打印-网站开发手记        if(chkList[i].type=="checkbox" && chkList[i].checked)
 37【原创】Crystal report 实现打印-网站开发手记        {
 38【原创】Crystal report 实现打印-网站开发手记            var objOrderId=chkList[i].nextSibling;
 39【原创】Crystal report 实现打印-网站开发手记            if(objOrderId.type!="hidden"continue;
 40【原创】Crystal report 实现打印-网站开发手记//            var objOrderId=objReference.nextSibling;
 41【原创】Crystal report 实现打印-网站开发手记//            if(objOrderId.type!="hidden") continue;
 42【原创】Crystal report 实现打印-网站开发手记            
 43【原创】Crystal report 实现打印-网站开发手记//            if(objReference.type=="hidden" && objReference.value!="")
 44【原创】Crystal report 实现打印-网站开发手记//            {
 45【原创】Crystal report 实现打印-网站开发手记//                failed = true;
 46【原创】Crystal report 实现打印-网站开发手记//            }
 47【原创】Crystal report 实现打印-网站开发手记            if(objOrderId.type="hidden")
 48【原创】Crystal report 实现打印-网站开发手记            {
 49【原创】Crystal report 实现打印-网站开发手记                if (selectList != ""
 50【原创】Crystal report 实现打印-网站开发手记                {
 51【原创】Crystal report 实现打印-网站开发手记                    selectList=selectList+",";            
 52【原创】Crystal report 实现打印-网站开发手记                }

 53【原创】Crystal report 实现打印-网站开发手记                
 54【原创】Crystal report 实现打印-网站开发手记                 selectList = selectList+objOrderId.value;
 55【原创】Crystal report 实现打印-网站开发手记            }

 56【原创】Crystal report 实现打印-网站开发手记        }

 57【原创】Crystal report 实现打印-网站开发手记    }

 58【原创】Crystal report 实现打印-网站开发手记    if(selectList=="")
 59【原创】Crystal report 实现打印-网站开发手记    {
 60【原创】Crystal report 实现打印-网站开发手记        alert("Please select order to print.");
 61【原创】Crystal report 实现打印-网站开发手记        return false;
 62【原创】Crystal report 实现打印-网站开发手记    }

 63【原创】Crystal report 实现打印-网站开发手记    else
 64【原创】Crystal report 实现打印-网站开发手记    {
 65【原创】Crystal report 实现打印-网站开发手记        var hidList=document.getElementById("ctl00_ContentPlaceHolder1_hidOrderList");
 66【原创】Crystal report 实现打印-网站开发手记        hidList.value=selectList;
 67【原创】Crystal report 实现打印-网站开发手记        return true;
 68【原创】Crystal report 实现打印-网站开发手记    }

 69【原创】Crystal report 实现打印-网站开发手记}

 70 【原创】Crystal report 实现打印-网站开发手记  </ script >
 71 【原创】Crystal report 实现打印-网站开发手记 
 72 【原创】Crystal report 实现打印-网站开发手记    < asp:panel id = " panToolBar "  runat = " server "  Wrap = " False "  Height = " 5px " >
 73 【原创】Crystal report 实现打印-网站开发手记 < asp:LinkButton id = " LinkButbtnRefresh "  runat = " server "  OnClick = " LinkButbtnRefresh_Click " > [Refresh] </ asp:LinkButton >& nbsp; 
 74 【原创】Crystal report 实现打印-网站开发手记 < asp:HyperLink id = " hlBack "  runat = " server " > [Back] </ asp:HyperLink >
 75 【原创】Crystal report 实现打印-网站开发手记        < asp:Button ID = " btShowPrint "  CssClass = " buttondark "  runat = " server "  OnClick = " btShowPrint_Click "  Text = " [Show Print Option] "   />
 76 【原创】Crystal report 实现打印-网站开发手记        < asp:Button ID = " btPrint "   CssClass = " buttondark "  runat = " server "  Text = " Print "  OnClientClick = " return checkSelectList(); "  OnCommand = " btPrint_Command "   />
 77 【原创】Crystal report 实现打印-网站开发手记   < asp:HiddenField ID = " hidOrderList "  runat = " server "   />
 78 【原创】Crystal report 实现打印-网站开发手记        < asp:HiddenField ID = " hidPrinterName "  runat = " server "   />   
 79 【原创】Crystal report 实现打印-网站开发手记        < asp:HiddenField ID = " hidPrintCopies "  runat = " server "   />   
 80 【原创】Crystal report 实现打印-网站开发手记   </ asp:panel >
 81 【原创】Crystal report 实现打印-网站开发手记     < asp:Panel ID = " panPrint "  Visible = " false "  runat = " server "  Height = " 50px "  Width = " 50% " >
 82 【原创】Crystal report 实现打印-网站开发手记         < asp:DropDownList ID = " ddlPrinter "  runat = " server " >
 83 【原创】Crystal report 实现打印-网站开发手记         </ asp:DropDownList >
 84 【原创】Crystal report 实现打印-网站开发手记         < br  />
 85 【原创】Crystal report 实现打印-网站开发手记        Print  < asp:TextBox ID = " txtCopies "  Width = " 50px "  Text = " 1 "   runat = " server " ></ asp:TextBox > Copies.
 86 【原创】Crystal report 实现打印-网站开发手记         < asp:RequiredFieldValidator ID = " RequiredFieldValidator1 "  runat = " server "  
 87 【原创】Crystal report 实现打印-网站开发手记         ControlToValidate = " txtCopies "  ValidationGroup = " vPrint "
 88 【原创】Crystal report 实现打印-网站开发手记        ErrorMessage = " Please input a number of copies to print. " ></ asp:RequiredFieldValidator >
 89 【原创】Crystal report 实现打印-网站开发手记         < asp:RangeValidator ID = " RangeValidator1 "  runat = " server "  MaximumValue = " 1000 "  MinimumValue = " 1 "
 90 【原创】Crystal report 实现打印-网站开发手记         ControlToValidate = " txtCopies "
 91 【原创】Crystal report 实现打印-网站开发手记        ErrorMessage = " Must be a number over 1 "  ValidationGroup = " vPrint " > .
 92 【原创】Crystal report 实现打印-网站开发手记         </ asp:RangeValidator >  
 93 【原创】Crystal report 实现打印-网站开发手记         < br  />
 94 【原创】Crystal report 实现打印-网站开发手记 < asp:Button ID = " btConrirm "   CssClass = " buttondark "  runat = " server "  Text = " Confirm "  OnCommand = " btConfirm_Command "   /></ asp:Panel >
 95 【原创】Crystal report 实现打印-网站开发手记 < CR:CrystalReportViewer id = " rptViewer "  runat = " server "  Width = " 350px "  Height = " 50px "  PageToTreeRatio = " 5 "  EnableDatabaseLogonPrompt = " False "  EnableDrillDown = " False "  EnableParameterPrompt = " False "  AutoDataBind = " True "  PrintMode = " ActiveX "  DisplayGroupTree = " False " />
 96 【原创】Crystal report 实现打印-网站开发手记     < br  />
 97 【原创】Crystal report 实现打印-网站开发手记     < table cellspacing = " 1 "  id = " tbOrderList "   class = " listtable "  cellpadding = " 0 " >
 98 【原创】Crystal report 实现打印-网站开发手记     < asp:Repeater ID = " rpOrderList "  runat = " server "  OnItemDataBound = " rpOrderListItemBound " >
 99 【原创】Crystal report 实现打印-网站开发手记     < HeaderTemplate >
100 【原创】Crystal report 实现打印-网站开发手记     < tr >
101 【原创】Crystal report 实现打印-网站开发手记     < th >
102 【原创】Crystal report 实现打印-网站开发手记         < input type = " checkbox "  id = " chkAll "  onclick = " checkAll(this); "  title = " Select All " />< label style = " display:inline; "   for = " chkAll " > Select All </ label >
103 【原创】Crystal report 实现打印-网站开发手记         </ th >
104 【原创】Crystal report 实现打印-网站开发手记     < th > Header1 </ th >
105 【原创】Crystal report 实现打印-网站开发手记     < th > Header2 </ th >
106 【原创】Crystal report 实现打印-网站开发手记     < th > Header3 </ th >
107 【原创】Crystal report 实现打印-网站开发手记     < th > Header4 </ th >
108 【原创】Crystal report 实现打印-网站开发手记     < th > Header5 </ th >
109 【原创】Crystal report 实现打印-网站开发手记     < th > Header6 </ th >
110 【原创】Crystal report 实现打印-网站开发手记     < th > Header7 </ th >
111 【原创】Crystal report 实现打印-网站开发手记     < th > Header8 </ th >
112 【原创】Crystal report 实现打印-网站开发手记     </ tr >
113 【原创】Crystal report 实现打印-网站开发手记     </ HeaderTemplate >
114 【原创】Crystal report 实现打印-网站开发手记     < ItemTemplate >
115 【原创】Crystal report 实现打印-网站开发手记    
116 【原创】Crystal report 实现打印-网站开发手记 <!--  这里牵涉到公司机密,就不show了,内容只是为了显示一个列表,让用户选择打印那些订单 -->
117 【原创】Crystal report 实现打印-网站开发手记     </ ItemTemplate >
118 【原创】Crystal report 实现打印-网站开发手记     </ asp:Repeater >
119 【原创】Crystal report 实现打印-网站开发手记 </ table >
120 【原创】Crystal report 实现打印-网站开发手记 </ asp:Content >

cs:
  1 【原创】Crystal report 实现打印-网站开发手记 using  System;
  2 【原创】Crystal report 实现打印-网站开发手记 using  System.Data;
  3 【原创】Crystal report 实现打印-网站开发手记 using  System.Configuration;
  4 【原创】Crystal report 实现打印-网站开发手记 using  System.Collections;
  5 【原创】Crystal report 实现打印-网站开发手记 using  System.Web;
  6 【原创】Crystal report 实现打印-网站开发手记 using  System.Web.Security;
  7 【原创】Crystal report 实现打印-网站开发手记 using  System.Web.UI;
  8 【原创】Crystal report 实现打印-网站开发手记 using  System.Web.UI.WebControls;
  9 【原创】Crystal report 实现打印-网站开发手记 using  System.Web.UI.WebControls.WebParts;
 10 【原创】Crystal report 实现打印-网站开发手记 using  System.Web.UI.HtmlControls;
 11 【原创】Crystal report 实现打印-网站开发手记
 12 【原创】Crystal report 实现打印-网站开发手记 using  System.Drawing;
 13 【原创】Crystal report 实现打印-网站开发手记 using  System.ComponentModel;
 14 【原创】Crystal report 实现打印-网站开发手记 using  EMCCommerce.Framework;
 15 【原创】Crystal report 实现打印-网站开发手记 using  CrystalDecisions.Shared;
 16 【原创】Crystal report 实现打印-网站开发手记 using  CrystalDecisions.CrystalReports.Engine;
 17 【原创】Crystal report 实现打印-网站开发手记 using  System.Drawing.Printing;
 18 【原创】Crystal report 实现打印-网站开发手记
 19 【原创】Crystal report 实现打印-网站开发手记 public   partial   class  ReceiptViewer : BasePage
 20 【原创】Crystal report 实现打印-网站开发手记 {
 21【原创】Crystal report 实现打印-网站开发手记    public struct qsReceipt
 22【原创】Crystal report 实现打印-网站开发手记    {
 23【原创】Crystal report 实现打印-网站开发手记        public const string Receipt = "rpt";
 24【原创】Crystal report 实现打印-网站开发手记    }

 25【原创】Crystal report 实现打印-网站开发手记         private const string GROUP_TREEV_HIDE = "[Hide Tree View]";
 26【原创】Crystal report 实现打印-网站开发手记    private const string GROUP_TREEV_SHOW = "[Show Tree View]";
 27【原创】Crystal report 实现打印-网站开发手记    private const string PRINT_SHOW = "[Show Print Option]";
 28【原创】Crystal report 实现打印-网站开发手记    private const string PRINT_HIDE = "[Hide Printing Panel]";
 29【原创】Crystal report 实现打印-网站开发手记
 30【原创】Crystal report 实现打印-网站开发手记    private CrystalDecisions.CrystalReports.Engine.ReportDocument rptDoc;
 31【原创】Crystal report 实现打印-网站开发手记
 32【原创】Crystal report 实现打印-网站开发手记    protected void Page_Load(object sender, EventArgs e)
 33【原创】Crystal report 实现打印-网站开发手记    {
 34【原创】Crystal report 实现打印-网站开发手记        if (!IsPostBack)
 35【原创】Crystal report 实现打印-网站开发手记        {
 36【原创】Crystal report 实现打印-网站开发手记            //remember the referal
 37【原创】Crystal report 实现打印-网站开发手记            if (null != Request.UrlReferrer && Request.UrlReferrer.Host == Request.Url.Host)
 38【原创】Crystal report 实现打印-网站开发手记            {
 39【原创】Crystal report 实现打印-网站开发手记                hlBack.NavigateUrl = Request.UrlReferrer.PathAndQuery;
 40【原创】Crystal report 实现打印-网站开发手记                hlBack.Visible = true;
 41【原创】Crystal report 实现打印-网站开发手记            }

 42【原创】Crystal report 实现打印-网站开发手记            else
 43【原创】Crystal report 实现打印-网站开发手记            {
 44【原创】Crystal report 实现打印-网站开发手记                hlBack.Visible = false//can't provide this feature.
 45【原创】Crystal report 实现打印-网站开发手记            }

 46【原创】Crystal report 实现打印-网站开发手记            //load report
 47【原创】Crystal report 实现打印-网站开发手记            //InitLoadReport();
 48【原创】Crystal report 实现打印-网站开发手记            LoadOrderList();
 49【原创】Crystal report 实现打印-网站开发手记            //Print();
 50【原创】Crystal report 实现打印-网站开发手记//panPrint.Visible = false;
 51【原创】Crystal report 实现打印-网站开发手记        }

 52【原创】Crystal report 实现打印-网站开发手记        else
 53【原创】Crystal report 实现打印-网站开发手记        {
 54【原创】Crystal report 实现打印-网站开发手记            LoadCachedReport();
 55【原创】Crystal report 实现打印-网站开发手记        }

 56【原创】Crystal report 实现打印-网站开发手记        //btnGroupTree.Text = (rptViewer.DisplayGroupTree ? GROUP_TREEV_HIDE : GROUP_TREEV_SHOW);            
 57【原创】Crystal report 实现打印-网站开发手记    }

 58【原创】Crystal report 实现打印-网站开发手记
 59【原创】Crystal report 实现打印-网站开发手记    //private void FillRptParamsFromReq()
 60【原创】Crystal report 实现打印-网站开发手记    //{
 61【原创】Crystal report 实现打印-网站开发手记    //    ParameterFieldDefinitions Parms = rptDoc.DataDefinition.ParameterFields;
 62【原创】Crystal report 实现打印-网站开发手记    //    ParameterFieldDefinition paramField; 
 63【原创】Crystal report 实现打印-网站开发手记    //    for (int i = 0; i < rptDoc.DataDefinition.ParameterFields.Count; i++)
 64【原创】Crystal report 实现打印-网站开发手记    //    {
 65【原创】Crystal report 实现打印-网站开发手记    //        paramField = rptDoc.DataDefinition.ParameterFields[i];
 66【原创】Crystal report 实现打印-网站开发手记    //    //Response.Write(Utils.Cstr(Request[paramField.ParameterFieldName], ""));
 67【原创】Crystal report 实现打印-网站开发手记    //    //Response.End();
 68【原创】Crystal report 实现打印-网站开发手记    //        if (Request.Params[paramField.ParameterFieldName] != null)
 69【原创】Crystal report 实现打印-网站开发手记    //        {
 70【原创】Crystal report 实现打印-网站开发手记    //            rptDoc.SetParameterValue(i, Utils.Cstr(Request[paramField.ParameterFieldName], ""));
 71【原创】Crystal report 实现打印-网站开发手记    //        }
 72【原创】Crystal report 实现打印-网站开发手记    //        else
 73【原创】Crystal report 实现打印-网站开发手记    //        {
 74【原创】Crystal report 实现打印-网站开发手记    //            string val;
 75【原创】Crystal report 实现打印-网站开发手记    //            val = "";
 76【原创】Crystal report 实现打印-网站开发手记    //            rptDoc.SetParameterValue(i, val);
 77【原创】Crystal report 实现打印-网站开发手记    //        }
 78【原创】Crystal report 实现打印-网站开发手记    //    }
 79【原创】Crystal report 实现打印-网站开发手记    //}
 80【原创】Crystal report 实现打印-网站开发手记    private void FillRptParamsFromReq(params string[] paravalue)
 81【原创】Crystal report 实现打印-网站开发手记    {
 82【原创】Crystal report 实现打印-网站开发手记        ParameterFieldDefinitions Parms = rptDoc.DataDefinition.ParameterFields;
 83【原创】Crystal report 实现打印-网站开发手记        ParameterFieldDefinition paramField;
 84【原创】Crystal report 实现打印-网站开发手记        for (int i = 0; i < rptDoc.DataDefinition.ParameterFields.Count; i++)
 85【原创】Crystal report 实现打印-网站开发手记        {
 86【原创】Crystal report 实现打印-网站开发手记            paramField = rptDoc.DataDefinition.ParameterFields[i];
 87【原创】Crystal report 实现打印-网站开发手记            //Response.Write(Utils.Cstr(Request[paramField.ParameterFieldName], ""));
 88【原创】Crystal report 实现打印-网站开发手记            //Response.End();
 89【原创】Crystal report 实现打印-网站开发手记            //if (Request.Params[paramField.ParameterFieldName] != null)
 90【原创】Crystal report 实现打印-网站开发手记            if (paravalue[i] != null)
 91【原创】Crystal report 实现打印-网站开发手记            {
 92【原创】Crystal report 实现打印-网站开发手记                rptDoc.SetParameterValue(i, Utils.Cstr(paravalue[i], ""));
 93【原创】Crystal report 实现打印-网站开发手记            }

 94【原创】Crystal report 实现打印-网站开发手记            else
 95【原创】Crystal report 实现打印-网站开发手记            {
 96【原创】Crystal report 实现打印-网站开发手记                string val;
 97【原创】Crystal report 实现打印-网站开发手记                val = "";
 98【原创】Crystal report 实现打印-网站开发手记                rptDoc.SetParameterValue(i, val);
 99【原创】Crystal report 实现打印-网站开发手记            }

100【原创】Crystal report 实现打印-网站开发手记        }

101【原创】Crystal report 实现打印-网站开发手记    }

102【原创】Crystal report 实现打印-网站开发手记
103【原创】Crystal report 实现打印-网站开发手记    private void InitLoadReport()
104【原创】Crystal report 实现打印-网站开发手记    {
105【原创】Crystal report 实现打印-网站开发手记        try
106【原创】Crystal report 实现打印-网站开发手记        {
107【原创】Crystal report 实现打印-网站开发手记            string reportFilePath = Server.MapPath(@"报表路径");
108【原创】Crystal report 实现打印-网站开发手记            rptDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
109【原创】Crystal report 实现打印-网站开发手记            rptDoc.Load(reportFilePath);
110【原创】Crystal report 实现打印-网站开发手记
111【原创】Crystal report 实现打印-网站开发手记            //init connection
112【原创】Crystal report 实现打印-网站开发手记            InitRptConnection(连接字符串);
113【原创】Crystal report 实现打印-网站开发手记            //FillRptParamsFromReq();
114【原创】Crystal report 实现打印-网站开发手记            //assign source
115【原创】Crystal report 实现打印-网站开发手记            //rptViewer.ReportSource = rptDoc;
116【原创】Crystal report 实现打印-网站开发手记            //rptViewer.RefreshReport(); //remove it in VS2005 or error.
117【原创】Crystal report 实现打印-网站开发手记
118【原创】Crystal report 实现打印-网站开发手记            //fill up Parameters
119【原创】Crystal report 实现打印-网站开发手记
120【原创】Crystal report 实现打印-网站开发手记            //cache this report
121【原创】Crystal report 实现打印-网站开发手记            Session[CACHED_RPT] = rptDoc;
122【原创】Crystal report 实现打印-网站开发手记            Session[CACHED_RPT_NAME] = Request[qsReceipt.Receipt];
123【原创】Crystal report 实现打印-网站开发手记            /*}
124【原创】Crystal report 实现打印-网站开发手记            else
125【原创】Crystal report 实现打印-网站开发手记            {//redirect to the default page
126【原创】Crystal report 实现打印-网站开发手记                //Response.Redirect( "default.aspx" );
127【原创】Crystal report 实现打印-网站开发手记                //Response.End();
128【原创】Crystal report 实现打印-网站开发手记            }*/

129【原创】Crystal report 实现打印-网站开发手记        }

130【原创】Crystal report 实现打印-网站开发手记        catch (Exception e1)
131【原创】Crystal report 实现打印-网站开发手记        {
132【原创】Crystal report 实现打印-网站开发手记            Response.Write(e1.ToString());
133【原创】Crystal report 实现打印-网站开发手记            Response.End();
134【原创】Crystal report 实现打印-网站开发手记        }

135【原创】Crystal report 实现打印-网站开发手记    }

136【原创】Crystal report 实现打印-网站开发手记
137【原创】Crystal report 实现打印-网站开发手记    private void LoadCachedReport()
138【原创】Crystal report 实现打印-网站开发手记    {
139【原创】Crystal report 实现打印-网站开发手记        string cachedRpt = Utils.Cstr(Session[CACHED_RPT_NAME], string.Empty);
140【原创】Crystal report 实现打印-网站开发手记        string qRpt = Utils.Cstr(Request[qsReceipt.Receipt], string.Empty);
141【原创】Crystal report 实现打印-网站开发手记        if (cachedRpt.Length > 0 && cachedRpt == qRpt)
142【原创】Crystal report 实现打印-网站开发手记        {
143【原创】Crystal report 实现打印-网站开发手记            rptDoc = (CrystalDecisions.CrystalReports.Engine.ReportDocument)Session[CACHED_RPT];
144【原创】Crystal report 实现打印-网站开发手记            //rptViewer.ReportSource = rptDoc;
145【原创】Crystal report 实现打印-网站开发手记        }

146【原创】Crystal report 实现打印-网站开发手记        else
147【原创】Crystal report 实现打印-网站开发手记        {
148【原创】Crystal report 实现打印-网站开发手记            InitLoadReport();
149【原创】Crystal report 实现打印-网站开发手记        }

150【原创】Crystal report 实现打印-网站开发手记    }

151【原创】Crystal report 实现打印-网站开发手记
152【原创】Crystal report 实现打印-网站开发手记
153【原创】Crystal report 实现打印-网站开发手记    private void InitRptConnection(string conn)
154【原创】Crystal report 实现打印-网站开发手记    {
155【原创】Crystal report 实现打印-网站开发手记        //break the connection string
156【原创】Crystal report 实现打印-网站开发手记        string[] parms = conn.Split(new char[] ';' });
157【原创】Crystal report 实现打印-网站开发手记        Dictionary connD = new Dictionary();
158【原创】Crystal report 实现打印-网站开发手记        for (int i = 0; i < parms.Length; i++)
159【原创】Crystal report 实现打印-网站开发手记        {
160【原创】Crystal report 实现打印-网站开发手记            if (parms[i].Trim().Length < 1continue;
161【原创】Crystal report 实现打印-网站开发手记            string[] pair = parms[i].Split(new char[] '=' });
162【原创】Crystal report 实现打印-网站开发手记            if (pair.Length > 1)
163【原创】Crystal report 实现打印-网站开发手记            {
164【原创】Crystal report 实现打印-网站开发手记                connD[pair[0]] = pair[1];
165【原创】Crystal report 实现打印-网站开发手记            }

166【原创】Crystal report 实现打印-网站开发手记        }

167【原创】Crystal report 实现打印-网站开发手记
168【原创】Crystal report 实现打印-网站开发手记        string u, p, s, d;
169【原创】Crystal report 实现打印-网站开发手记        u = connD["UID"].ToString();
170【原创】Crystal report 实现打印-网站开发手记        p = connD["PWD"].ToString();
171【原创】Crystal report 实现打印-网站开发手记        s = connD["Server"].ToString();
172【原创】Crystal report 实现打印-网站开发手记        d = connD["Database"].ToString();
173【原创】Crystal report 实现打印-网站开发手记        string constr = string.Format("UID={0};PWD={1};Server={2};DataBase={3}",u,p,s,d);
174【原创】Crystal report 实现打印-网站开发手记        rptDoc.SetDatabaseLogon(u, p);
175【原创】Crystal report 实现打印-网站开发手记        //rptDoc.SetDatabaseLogon(u, p, s, d);  //not working. login fail with this one
176【原创】Crystal report 实现打印-网站开发手记        return;
177【原创】Crystal report 实现打印-网站开发手记
178【原创】Crystal report 实现打印-网站开发手记        
179【原创】Crystal report 实现打印-网站开发手记            }

180【原创】Crystal report 实现打印-网站开发手记    
181【原创】Crystal report 实现打印-网站开发手记
182【原创】Crystal report 实现打印-网站开发手记       protected void LinkButbtnRefresh_Click(object sender, System.EventArgs e)
183【原创】Crystal report 实现打印-网站开发手记    {
184【原创】Crystal report 实现打印-网站开发手记        InitLoadReport();
185【原创】Crystal report 实现打印-网站开发手记    }

186【原创】Crystal report 实现打印-网站开发手记
187【原创】Crystal report 实现打印-网站开发手记    private void showPrint()
188【原创】Crystal report 实现打印-网站开发手记    {
189【原创】Crystal report 实现打印-网站开发手记        ddlPrinter.Items.Clear();
190【原创】Crystal report 实现打印-网站开发手记        foreach (string ptr in PrinterSettings.InstalledPrinters)
191【原创】Crystal report 实现打印-网站开发手记        {
192【原创】Crystal report 实现打印-网站开发手记            ddlPrinter.Items.Add(ptr);
193【原创】Crystal report 实现打印-网站开发手记        }

194【原创】Crystal report 实现打印-网站开发手记        panPrint.Visible = true;
195【原创】Crystal report 实现打印-网站开发手记        //lbPrintError.Visible = false;
196【原创】Crystal report 实现打印-网站开发手记        //lbPrintResult.Visible = false;
197【原创】Crystal report 实现打印-网站开发手记    }

198【原创】Crystal report 实现打印-网站开发手记
199【原创】Crystal report 实现打印-网站开发手记    private void SetPrinter(string printerName)
200【原创】Crystal report 实现打印-网站开发手记    {
201【原创】Crystal report 实现打印-网站开发手记        rptDoc.PrintOptions.PrinterName = printerName;
202【原创】Crystal report 实现打印-网站开发手记    }

203【原创】Crystal report 实现打印-网站开发手记
204【原创】Crystal report 实现打印-网站开发手记    protected void btPrint_Command(object sender, CommandEventArgs e)
205【原创】Crystal report 实现打印-网站开发手记    {
206【原创】Crystal report 实现打印-网站开发手记        string orderList = this.hidOrderList.Value.Trim();
207【原创】Crystal report 实现打印-网站开发手记        string message = "";
208【原创】Crystal report 实现打印-网站开发手记        int copies = Convert.ToInt32(string.IsNullOrEmpty(hidPrintCopies.Value)?"1":hidPrintCopies.Value);
209【原创】Crystal report 实现打印-网站开发手记        if (string.IsNullOrEmpty(orderList)) return;
210【原创】Crystal report 实现打印-网站开发手记        string[] orderLists = orderList.Split(',');
211【原创】Crystal report 实现打印-网站开发手记        foreach (string order in orderLists)
212【原创】Crystal report 实现打印-网站开发手记        {
213【原创】Crystal report 实现打印-网站开发手记            FillRptParamsFromReq(new string[] {order});
214【原创】Crystal report 实现打印-网站开发手记            try
215【原创】Crystal report 实现打印-网站开发手记            {
216【原创】Crystal report 实现打印-网站开发手记            if (string.IsNullOrEmpty(hidPrinterName.Value))
217【原创】Crystal report 实现打印-网站开发手记                this.hidPrinterName.Value = PrinterSettings.InstalledPrinters[0];
218【原创】Crystal report 实现打印-网站开发手记            SetPrinter(hidPrinterName.Value);
219【原创】Crystal report 实现打印-网站开发手记            rptDoc.PrintToPrinter(copies, true00);
220【原创】Crystal report 实现打印-网站开发手记            }

221【原创】Crystal report 实现打印-网站开发手记            catch (Exception ex)
222【原创】Crystal report 实现打印-网站开发手记            {
223【原创】Crystal report 实现打印-网站开发手记                message = ex.Message;
224【原创】Crystal report 实现打印-网站开发手记            }

225【原创】Crystal report 实现打印-网站开发手记        }

226【原创】Crystal report 实现打印-网站开发手记        if (string.IsNullOrEmpty(message))
227【原创】Crystal report 实现打印-网站开发手记            message = "Order: " + orderList + " Print Successfully.";
228【原创】Crystal report 实现打印-网站开发手记        Response.Write("<script>alert('" + message + "');</script>");
229【原创】Crystal report 实现打印-网站开发手记    }

230【原创】Crystal report 实现打印-网站开发手记
231【原创】Crystal report 实现打印-网站开发手记    protected void btConfirm_Command(object sender,CommandEventArgs e)
232【原创】Crystal report 实现打印-网站开发手记    {
233【原创】Crystal report 实现打印-网站开发手记        this.hidPrinterName.Value = this.ddlPrinter.SelectedValue;
234【原创】Crystal report 实现打印-网站开发手记        this.hidPrintCopies.Value = this.txtCopies.Text;
235【原创】Crystal report 实现打印-网站开发手记        this.panPrint.Visible = false;
236【原创】Crystal report 实现打印-网站开发手记        this.btShowPrint.Text = (panPrint.Visible ? PRINT_HIDE : PRINT_SHOW);
237【原创】Crystal report 实现打印-网站开发手记    }

238【原创】Crystal report 实现打印-网站开发手记
239【原创】Crystal report 实现打印-网站开发手记    protected void btShowPrint_Click(object sender, EventArgs e)
240【原创】Crystal report 实现打印-网站开发手记    {
241【原创】Crystal report 实现打印-网站开发手记        if (!panPrint.Visible)
242【原创】Crystal report 实现打印-网站开发手记            showPrint();
243【原创】Crystal report 实现打印-网站开发手记        else
244【原创】Crystal report 实现打印-网站开发手记            hidePrint();
245【原创】Crystal report 实现打印-网站开发手记
246【原创】Crystal report 实现打印-网站开发手记        this.btShowPrint.Text = (panPrint.Visible ? PRINT_HIDE : PRINT_SHOW);
247【原创】Crystal report 实现打印-网站开发手记    }

248【原创】Crystal report 实现打印-网站开发手记
249【原创】Crystal report 实现打印-网站开发手记    private void hidePrint()
250【原创】Crystal report 实现打印-网站开发手记    {
251【原创】Crystal report 实现打印-网站开发手记        panPrint.Visible = false;
252【原创】Crystal report 实现打印-网站开发手记    }

253【原创】Crystal report 实现打印-网站开发手记
254【原创】Crystal report 实现打印-网站开发手记    private void LoadOrderList()
255【原创】Crystal report 实现打印-网站开发手记    {
256【原创】Crystal report 实现打印-网站开发手记//LoadReport show in the page 
257【原创】Crystal report 实现打印-网站开发手记    }

258【原创】Crystal report 实现打印-网站开发手记     
259【原创】Crystal report 实现打印-网站开发手记}

260 【原创】Crystal report 实现打印-网站开发手记

你可能感兴趣的:(网站开发)