asp.net Lodop实现批量打印

1、列表(前台)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="w_studentTrainResultSearch.aspx.cs" Inherits="DTMIS.Web.StudentMG.w_studentTrainResultSearch" %>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <script src="../js/jquery-1.4.4.min.js" type="text/javascript"></script>

    <script src="../js/My97DatePicker/WdatePicker.js" type="text/javascript"></script>

    <%--  <script src="../js/WebCalendar.js" type="text/javascript"></script>--%>

    <link href="../Include/StyleFile.css" type="text/css" rel="stylesheet" />

    <script type="text/javascript">

        var tr;

        var _bgColor;

        $(function () {

            $("#DataGrid1 tr:gt(0)").hover(

            function () {

                tr = $(this);

                if (tr.rowIndex != 0) {

                    _bgColor = tr.css("backgroundColor");

                    tr.css("backgroundColor", "#ffc051");

                }

            },

            function () {

                tr.css("backgroundColor", _bgColor);

            }

            );

        });



        //批量打印

        function PrintUrl()

        {

            var canshu = "<%= canshu%>";

            var canshuUrl = "";

            var canshus = canshu.split('|');

            var IfBlankPrint = ($("#ChbIfBlankPrint").attr("checked") == true) ? 0 : 1;

            var chks = document.getElementsByName("DataGrid1_CheckSingle");

            if (chks != null && chks.length != 0) {

                var len = chks.length;

                for (var i = 0; i < len; i++) {

                    var chk = chks[i]

                    if (chk.checked) {

                        canshuUrl += canshus[i] + "," + IfBlankPrint + "|";

                    }

                }

            }

            if (canshuUrl!= "") {

                var canshusub = canshuUrl.substr(0, canshuUrl.length - 1);

                window.open("w_studentTrainResultNew.aspx?canshu=" + canshusub);

            }

            else {

                alert("请选择需打印学员!");

            }            

        }

        function printStuTrainResult(ID, km, dno)

        {

            var TypeState = document.getElementById("hidTypeState").value;

            var IfBlankPrint = ($("#ChbIfBlankPrint").attr("checked") == true) ? 0 : 1;

            var href = "w_studentTrainResult.aspx?ID=" + ID + "&km=" + km + "&dno=" + dno + "&IfBlankPrint=" + IfBlankPrint + "&fun=0";

            if (TypeState == "0")

            {

                //if (km != "1") {

                    window.open(href);

                    //window.location.href = "w_studentTrainResult.aspx?ID=" + ID + "&km=" + km + "&dno=" + dno + "&IfBlankPrint=" + IfBlankPrint + "&fun=0";

                //} else

                //{

                //    //alert("驾校用户没有打印科目一的权限!");

                //}

            }

            else if (TypeState == "1") {

                if (km == "1") {

                    window.open(href);

                    //window.location.href = "w_studentTrainResult.aspx?ID=" + ID + "&km=" + km + "&dno=" + dno + "&IfBlankPrint=" + IfBlankPrint + "&fun=0";

                } else

                {

                    if(km == "2")

                    {

                        alert("培训中心用户没有打印科目二的权限!");

                    }else

                    {

                        alert("培训中心用户没有打印科目三的权限!");

                    }

                }

            }

            else

            {

                var R_Class = document.getElementById("hidR_Class").value;

                if (R_Class != 0) {

                    alert("交管局用户没有打印权限!");

                } else

                {

                    window.open(href);

                    //window.location.href = "w_studentTrainResult.aspx?ID=" + ID + "&km=" + km + "&dno=" + dno + "&IfBlankPrint=" + IfBlankPrint + "&fun=0";

                }

            }

        }

    </script>

    <script type="text/javascript">

        function SelectAll(tempControl) {

            var theBox = tempControl;

            xState = theBox.checked;

            elem = theBox.form.elements;

            for (i = 0; i < elem.length; i++) {

                if (elem[i].type == "checkbox" && elem[i].id != theBox.id) {

                    if (elem[i].checked != xState) {

                        elem[i].click();

                    }

                }

            }

            $("#ChbIfBlankPrint").removeAttr("checked");

        }

    </script>

</head>

<body class="background_all">

    <form id="Form1" method="post" runat="server">

        <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">

            <tr>

                <td valign="top" width="100%">

                    <table cellspacing="1" cellpadding="0" width="98%" align="center" border="0">

                        <tr>

                            <td bgcolor="#cccccc" height="23" width="70%">   学员管理 -- 证书记录打印 -- 学员培训记录

                            </td>

                            <td bgcolor="#cccccc" align="center" width="30%"> </td>

                        </tr>

                        <tr>

                            <td valign="top" colspan="2">

                                <asp:Panel ID="SearchPanel" runat="server" Width="100%" />

                                <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">

                                    <tr>

                                        <td class="td_border_all">

                                            <table cellspacing="1" cellpadding="1" width="100%" align="center" border="0">

                                                <tr>

                                                    <td class="td_bgcolor_all" align="center" colspan="4" height="22">学员查询</td>

                                                </tr>

                                                <tr>

                                                    <td class="BDTD">

                                                        <asp:Label runat="server" ID="lblTitle" Text="所属机构"></asp:Label>

                                                    </td>

                                                    <td class="WHITETD" colspan="3">

                                                        <asp:DropDownList ID="ddlDistrict" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlDistrict_SelectedIndexChanged">

                                                        </asp:DropDownList>

                                                        <asp:DropDownList ID="ddlTrainCenter" runat="server" AutoPostBack="True" Visible="false">

                                                        </asp:DropDownList>

                                                    </td>

                                                </tr>

                                                <tr>

                                                    <td class="BDTD">所属驾校</td>

                                                    <td class="WHITETD">

                                                        <asp:DropDownList ID="ddlDrvNo" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlDrvNo_SelectedIndexChanged">

                                                        </asp:DropDownList>

                                                    </td>

                                                    <td class="BDTD">申请日期</td>

                                                    <td class="WHITETD">

                                                        <%--<asp:TextBox ID="BeginDate" runat="server" onclick="new Calendar().show(this);" Width="100px"></asp:TextBox>--%>

                                                        <input runat="server" readonly="readonly" id="BeginDate" onfocus="WdatePicker({Date:'%y-%M-{%d}'})" />

                                                         至 

                                                        <input runat="server" readonly="readonly" id="EndDate" onfocus="WdatePicker({Date:'%y-%M-{%d}'})" />

                                                        <%--<asp:TextBox ID="EndDate" runat="server" onclick="new Calendar().show(this);" Width="100px"></asp:TextBox>--%>

                                                    </td>

                                                </tr>

                                                <tr>

                                                    <td class="BDTD" width="15%">学员编号</td>

                                                    <td class="WHITETD" width="35%">

                                                        <asp:TextBox ID="txtS_No" runat="server" Width="160px"></asp:TextBox>

                                                    </td>

                                                    <td class="BDTD" width="15%">学员姓名</td>

                                                    <td class="WHITETD" width="35%">

                                                        <asp:TextBox ID="txtS_Name" runat="server" Width="100px"></asp:TextBox>

                                                    </td>

                                                </tr>

                                                <tr>

                                                    <td class="BDTD">学员状态</td>

                                                    <td class="WHITETD">

                                                        <asp:DropDownList ID="ddlS_Status" runat="server">

                                                        </asp:DropDownList>

                                                    </td>

                                                    <td class="BDTD">学车类型</td>

                                                    <td class="WHITETD">

                                                        <asp:DropDownList ID="ddlS_StudyVehicleType" runat="server">

                                                            <asp:ListItem Value=" "></asp:ListItem>

                                                        </asp:DropDownList>

                                                    </td>

                                                </tr>

                                                <tr>

                                                    <td class="BDTD">证件类型</td>

                                                    <td class="WHITETD">

                                                        <asp:DropDownList ID="ddlS_PaType" runat="server">

                                                        </asp:DropDownList>

                                                    </td>

                                                    <td class="BDTD">证件号</td>

                                                    <td class="WHITETD">

                                                        <asp:TextBox ID="txtS_IDCardNo" runat="server" Width="160px"></asp:TextBox>

                                                    </td>

                                                </tr>

                                                <tr>

                                                    <td class="BDTD">科目</td>

                                                    <td class="WHITETD">

                                                        <asp:DropDownList ID="ddlSubject" runat="server">

                                                            <%--<asp:ListItem Value="0">所有</asp:ListItem>

                                                        <asp:ListItem Value="科目一">科目一</asp:ListItem>

                                                        <asp:ListItem Value="科目二">科目二</asp:ListItem>

                                                        <asp:ListItem Value="科目三">科目三</asp:ListItem>--%>

                                                        </asp:DropDownList>

                                                    </td>

                                                    <td class="BDTD">打印状态</td>

                                                    <td class="WHITETD">

                                                        <asp:DropDownList ID="ddlPrint" runat="server">

                                                            <asp:ListItem Value="0">未打印</asp:ListItem>

                                                            <asp:ListItem Value="1">已打印</asp:ListItem>

                                                        </asp:DropDownList>

                                                    </td>

                                                </tr>

                                                <tr bgcolor="#cccccc">

                                                    <td align="center" colspan="4" height="30">

                                                        <asp:Button ID="Button1" runat="server" Width="60PX" Text="搜索" Height="22px" Font-Size="12px" OnClick="Button1_Click"></asp:Button>

                                                         <asp:Button ID="Button2" runat="server" Width="60px" Text="返回" Height="22px" Font-Size="12px" OnClick="Button2_Click"></asp:Button>

                                                        <asp:HiddenField ID="hidTypeState" runat="server" />

                                                        <asp:HiddenField ID="hidR_Class" runat="server" />

                                                        <%--<br />

                                                            <br />

                                                            培训单位签名(科目一):<asp:TextBox ID="txtTrainSign0" runat="server" Width="150px"></asp:TextBox>

                                                              培训单位签名(科目二):<asp:TextBox ID="txtTrainSign1" runat="server" Width="150px"></asp:TextBox>

                                                              培训单位签名(科目三):<asp:TextBox ID="txtTrainSign2" runat="server" Width="150px"></asp:TextBox>

                                                             <br /> 

<%--                                                        管理机构签名(科目一):<asp:TextBox ID="txtGOVSign0" runat="server" Width="150px"></asp:TextBox>

                                                              管理机构签名(科目二):<asp:TextBox ID="txtGOVSign1" runat="server" Width="150px"></asp:TextBox>

                                                              管理机构签名(科目三):<asp:TextBox ID="txtGOVSign2" runat="server" Width="150px"></asp:TextBox>

                                                             <br /> --%>

                                                        <%--签名日期(科目一):<asp:TextBox ID="txtSignDate0" runat="server" onclick="new Calendar().show(this);" Width="100px"></asp:TextBox>

                                                              签名日期(科目二):<asp:TextBox ID="txtSignDate1" runat="server" onclick="new Calendar().show(this);" Width="100px"></asp:TextBox>

                                                              签名日期(科目三):<asp:TextBox ID="txtSignDate2" runat="server" onclick="new Calendar().show(this);" Width="100px"></asp:TextBox>

                                                             

                                                            <asp:Button ID="btnSaveDate" runat="server" Font-Size="12px" Height="22px" 

                                                                onclick="btnSaveDate_Click" Text="保存" Width="60PX" />--%>

                                                    </td>

                                                </tr>

                                            </table>

                                        </td>

                                    </tr>

                                </table>

                                </asp:Panel>

                                <asp:Panel ID="pBlankPrint" runat="server">

                                    <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">

                                        <tr bgcolor="#cccccc">

                                            <td align="right" height="25px">

                                                <%--<asp:CheckBox ID="ChbIfBlankPrint"  AutoPostBack="true" runat="server" Text="全打" />--%>

                                                <input id="ChbIfBlankPrint" type="checkbox" /><label for="ChbIfBlankPrint">全打</label>

                                                <input id="btnPrint" runat="server" type="button" onclick="PrintUrl();" value="批量打印" />

                                                <%--<asp:Button ID="btnPrint" runat="server" OnClick="btnPrint_Click" Text="批量打印" />--%>

                                                     

                                            </td>

                                        </tr>

                                    </table>

                                </asp:Panel>

                                <asp:Panel ID="ResultPanel" runat="server" Width="100%">

                                    <table cellspacing="1" cellpadding="1" width="100%" align="center" border="0">

                                        <tr>

                                            <td align="center">

                                                <asp:DataGrid ID="DataGrid1" runat="Server" Width="100%" CssClass="grid_border_all" BorderWidth="1px"

                                                    PageSize="15" AutoGenerateColumns="False" BackColor="White" OnItemDataBound="DataGrid1_ItemDataBound">

                                                    <AlternatingItemStyle BackColor="#F7F7F7"></AlternatingItemStyle>

                                                    <ItemStyle HorizontalAlign="Center" Height="20px"></ItemStyle>

                                                    <HeaderStyle HorizontalAlign="Center" Height="22px" ForeColor="White" VerticalAlign="Middle"

                                                        CssClass="gird_bgcolor_all"></HeaderStyle>

                                                    <Columns>

                                                        <asp:TemplateColumn HeaderText="序号">

                                                            <ItemTemplate>

                                                                <%# Container.ItemIndex + 1%>

                                                            </ItemTemplate>

                                                        </asp:TemplateColumn>

                                                        <asp:BoundColumn DataField="D_Name" HeaderText="驾校简称"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="Subject" HeaderText="科目"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_No" HeaderText="学员编号"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_Name" HeaderText="学员姓名"></asp:BoundColumn>

                                                        <%--<asp:BoundColumn DataField="S_Type" HeaderText="学员类型"></asp:BoundColumn>--%>

                                                        <asp:BoundColumn DataField="S_Sex" HeaderText="性别"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_Tel" HeaderText="联系电话"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_PaType" HeaderText="证件类型"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_IDCardNo" HeaderText="证件号"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_StudyVehicleType" HeaderText="学车类型"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="AddTime" DataFormatString="{0:d}" HeaderText="申请日期"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_Teacher" HeaderText="所属教练"></asp:BoundColumn>

                                                        <asp:BoundColumn DataField="S_Status" HeaderText="学员状态"></asp:BoundColumn>

                                                        <asp:BoundColumn HeaderText="打印次数" DataField="PrintCount"></asp:BoundColumn>

                                                        <%--  <asp:TemplateColumn HeaderText="查看">

                                                        <ItemTemplate>

                                                            <a target="_blank" style="color: Blue;" href='w_studentTrainResult.aspx?ID=<%# (DataBinder.Eval(Container,"DataItem.ID"))%>&km=<%# (DataBinder.Eval(Container,"DataItem.subjectid"))%>&dno=<%# (DataBinder.Eval(Container,"DataItem.d_no"))%>&IfBlankPrint=<%=IfBlankPrint.ToString()%>&fun=0'>

                                                                培训记录</a>

                                                        </ItemTemplate>

                                                    </asp:TemplateColumn>--%>

                                                        <asp:TemplateColumn HeaderText="查看">

                                                            <ItemTemplate>

                                                                <a style="color: Blue; cursor: pointer;" onclick="printStuTrainResult(<%# (DataBinder.Eval(Container,"DataItem.ID"))%>,<%# (DataBinder.Eval(Container,"DataItem.subjectid"))%>,'<%# (DataBinder.Eval(Container,"DataItem.d_no"))%>')">培训记录</a>

                                                            </ItemTemplate>

                                                        </asp:TemplateColumn>

                                                        <asp:TemplateColumn HeaderText="选择">

                                                            <HeaderTemplate>

                                                                <asp:CheckBox ID="check1" runat="server"

                                                                    onclick="javascript:SelectAll(this);" />

                                                            </HeaderTemplate>

                                                            <ItemTemplate>

                                                                <asp:Label ID="lbid" runat="server"

                                                                    Text='<%# DataBinder.Eval(Container,"DataItem.ID")%>' Visible="False"></asp:Label>

                                                                <asp:Label ID="lbSubject" runat="server"

                                                                    Text='<%# DataBinder.Eval(Container,"DataItem.subjectid")%>' Visible="False"></asp:Label>

                                                                <asp:Label ID="lbD_No" runat="server"

                                                                    Text='<%# DataBinder.Eval(Container,"DataItem.d_no")%>' Visible="False"></asp:Label>

                                                                <input id="CheckSingle" type="checkbox" name="<%#DataGrid1.ClientID%>_CheckSingle" />

                                                                <%--<asp:CheckBox ID="CheckSingle" Runat="server" />--%>

                                                            </ItemTemplate>

                                                        </asp:TemplateColumn>

                                                    </Columns>

                                                </asp:DataGrid>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td bgcolor="#CCCCCC" align="right">

                                                <asp:LinkButton ID="lbFirst" runat="server" OnClick="lbFirst_Click" Enabled="false">首页</asp:LinkButton>

                                                <asp:LinkButton ID="lbBack" runat="server" OnClick="lbBack_Click" Enabled="false">上一页</asp:LinkButton>

                                                <asp:LinkButton ID="lbNext" runat="server" OnClick="lbNext_Click" Enabled="false">下一页</asp:LinkButton>

                                                <asp:LinkButton ID="lbLast" runat="server" OnClick="lbLast_Click" Enabled="false">末页</asp:LinkButton>  

                                            第<asp:DropDownList ID="ddlPageSelect" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlPageSelect_SelectedIndexChanged">

                                                <asp:ListItem Value="1">1/1</asp:ListItem>

                                            </asp:DropDownList>

                                                页   共有<asp:Label ID="lbTotal" runat="server"></asp:Label>个记录  

                                            每页<input id="tbPageSize" runat="server" style="width: 35px;" value="15" />个记录

                                            </td>

                                        </tr>

                                    </table>

                                </asp:Panel>

                            </td>

                        </tr>

                    </table>

                </td>

                <!--td width="13" background="../Images/Default_20.gif"></td-->

            </tr>

        </table>

    </form>

</body>

</html>

 2、打印页面(前台)

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="w_studentTrainResultNew.aspx.cs" Inherits="DTMIS.Web.StudentMG.w_studentTrainResultNew" %>



<!DOCTYPE html>



<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <style type="text/css">

        .btnStyle {

            display: none;

        }

    </style>

    <script type="text/javascript" src="../js/LodopFuncs.js"></script>

    <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width="0"

        height="0">

        <embed id="LODOP_EM" type="application/x-print-lodop" width="0" height="0" pluginspage="../js/install_lodop.exe"></embed>

    </object>

    <title></title>

    <script type="text/javascript">



        var LODOP; //声明为全局变量

        function myShow4() {

            

            LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));

            LODOP.PRINT_INITA(0, 0, 1123, 756, "重庆驾培学员培训记录打印");

            LODOP.SET_PRINT_PAGESIZE(2, 2100, 2970, "A4");



            LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD", 1);   //隐藏背景条文

            LODOP.SET_SHOW_MODE("HIDE_SBUTTIN_PREVIEW", 1);

            //LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED", 1); //注:"BKIMG_IN_PREVIEW"-预览包含背景图 "BKIMG_IN_FIRSTPAGE"- 仅首页包含背景图		



            var count = <%= prinCount%> ;

            for (var i = 1; i <= count; i++) {

                if(i!=count)

                {

                    LODOP.ADD_PRINT_HTM(0, -10, 1000, 900, document.getElementById("div"+i).innerHTML);

                    LODOP.NewPage();

                }

                else {

                    LODOP.ADD_PRINT_HTM(0, -10, 1000, 900, document.getElementById("div"+i).innerHTML);

                }

            }

                

            var result = LODOP.PREVIEW();

            if (result > 0) {

                DTMIS.Web.StudentMG.w_studentTrainResultNew.UpdatePrintStatus();

                window.close();

            }

            else {

                if (window.confirm("未检测到打印信号,如果你已经打印,请点确认更新打印状态")) {

                    DTMIS.Web.StudentMG.w_studentTrainResultNew.UpdatePrintStatus();

                   

                }

                window.close();

            }

        };



        

    </script>

</head>

<body>

    <form id="form1" runat="server">

        <div style="width:100%; height:100%; text-align:center;">

         <div id="div_PrintDown"> 

             <input id="btn_Print" type="button" value="打印预览" name="B3"  onclick="myShow4()" />

       </br> <a href="../js/print.rar">打印插件包下载</a>

             </div>

       </div>

        <div style="display: none;"><%= div_data.ToString() %></div>



    </form>

</body>

</html>

 3、后台(套打、全打)

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="w_studentTrainResultNew.aspx.cs" Inherits="DTMIS.Web.StudentMG.w_studentTrainResultNew" %>



<!DOCTYPE html>



<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <style type="text/css">

        .btnStyle {

            display: none;

        }

    </style>

    <script type="text/javascript" src="../js/LodopFuncs.js"></script>

    <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width="0"

        height="0">

        <embed id="LODOP_EM" type="application/x-print-lodop" width="0" height="0" pluginspage="../js/install_lodop.exe"></embed>

    </object>

    <title></title>

    <script type="text/javascript">



        var LODOP; //声明为全局变量

        function myShow4() {

            

            LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));

            LODOP.PRINT_INITA(0, 0, 1123, 756, "重庆驾培学员培训记录打印");

            LODOP.SET_PRINT_PAGESIZE(2, 2100, 2970, "A4");



            LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD", 1);   //隐藏背景条文

            LODOP.SET_SHOW_MODE("HIDE_SBUTTIN_PREVIEW", 1);

            //LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED", 1); //注:"BKIMG_IN_PREVIEW"-预览包含背景图 "BKIMG_IN_FIRSTPAGE"- 仅首页包含背景图		



            var count = <%= prinCount%> ;

            for (var i = 1; i <= count; i++) {

                if(i!=count)

                {

                    LODOP.ADD_PRINT_HTM(0, -10, 1000, 900, document.getElementById("div"+i).innerHTML);

                    LODOP.NewPage();

                }

                else {

                    LODOP.ADD_PRINT_HTM(0, -10, 1000, 900, document.getElementById("div"+i).innerHTML);

                }

            }

                

            var result = LODOP.PREVIEW();

            if (result > 0) {

                DTMIS.Web.StudentMG.w_studentTrainResultNew.UpdatePrintStatus();

                window.close();

            }

            else {

                if (window.confirm("未检测到打印信号,如果你已经打印,请点确认更新打印状态")) {

                    DTMIS.Web.StudentMG.w_studentTrainResultNew.UpdatePrintStatus();

                   

                }

                window.close();

            }

        };



        

    </script>

</head>

<body>

    <form id="form1" runat="server">

        <div style="width:100%; height:100%; text-align:center;">

         <div id="div_PrintDown"> 

             <input id="btn_Print" type="button" value="打印预览" name="B3"  onclick="myShow4()" />

       </br> <a href="../js/print.rar">打印插件包下载</a>

             </div>

       </div>

        <div style="display: none;"><%= div_data.ToString() %></div>



    </form>

</body>

</html>

 (不使用全打、套打)

 

using AjaxPro;

using DTMIS.BLL;

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using System.Text;

using System.Web;

using System.Web.Services;

using System.Web.UI;

using System.Web.UI.WebControls;



namespace DTMIS.Web.StudentMG

{

    public partial class CertificatePrintNew : System.Web.UI.Page

    {

        protected StringBuilder div_data = new StringBuilder();

        protected int prinCount = 0;

        public static string stuidStr = "";        //学员ID字符串,用于批量修改打印次数



        public static int iStudentID;//学员编号

        public string S_GraduateNo;//资格证号

        public string S_Name;//姓名

        public string S_Sex;//性别

        public DateTime S_RegisterDate;//报名日期

        public string S_Pic;//照片

        public string S_StudyVehicleType;//准驾车型

        public string D_Name;//驾校

        protected string sRegYear;

        protected string sRegMonth;

        protected string sRegDay;





        protected string gRYear;

        protected string gRMonth;

        protected string gRDay;



        protected string sPrintYear;

        protected string sPrintMonth;

        protected string sPrintDay;

        protected string bgpath;

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                 // Utility.RegisterTypeForAjax(typeof(CertificatePrintNew));

            }

          

            #region  批量打印执行程序

            MorePrin();

            #endregion

        }

        private void MorePrin()

        {

            string canshu = Request.QueryString["canshu"];

            stuidStr = canshu;

            string[] allstudent = canshu.Split(',');

            this.prinCount = allstudent.Length;

            for (int i = 0; i < allstudent.Length; i++)

            {

                DataSet set = BLL.T_Student_Base.getStudentData(Convert.ToInt32(allstudent[i]));

                if (set.Tables.Count > 0)

                {

                    foreach (DataRow item in set.Tables[0].Rows)

                    {

                        DateTime time;

                        DateTime time1;

                        S_GraduateNo = item["S_GraduateNo"].ToString().Trim();

                        S_Name = item["S_Name"].ToString().Trim();

                        S_Sex = item["S_Sex"].ToString().Trim();

                        S_Pic = ConvertUrl(item["S_Pic"].ToString().Trim());

                        S_StudyVehicleType = item["S_StudyVehicleType"].ToString().Trim();

                        D_Name = item["D_Name"].ToString();

                        //报名日期

                        if (item["S_RegisterDate"].ToString() != "")

                        {

                            time = Convert.ToDateTime(item["S_RegisterDate"].ToString().Trim());

                            sRegYear = time.Year.ToString();

                            sRegMonth = time.Month.ToString();

                            sRegDay = time.Day.ToString();

                        }

                        //结业日期

                        if (item["A_AddTime"].ToString() != "")

                        {

                            time1 = Convert.ToDateTime(item["A_AddTime"].ToString().Trim());

                            gRYear = time1.Year.ToString();

                            gRMonth = time1.Month.ToString();

                            gRDay = time1.Day.ToString();

                        }

                        //打印时间

                        DateTime now = DateTime.Now;

                        sPrintYear = now.Year.ToString();

                        sPrintMonth = now.Month.ToString();

                        sPrintDay = now.Day.ToString();

                    }

                }

                #region 构建div

                bgpath = "<img border='0' src='../Images/001.jpg' />";

                //div_data.Append("<div id=\"div" + (i + 1) + "\" style=\"position:relative;\">" + bgpath);       //背景图片

                div_data.Append("<div id=\"div" + (i + 1) + "\" style=\"position:relative;\">");       //背景图片

                div_data.Append("<span style=\"position:absolute; top:85px; left:80px;width:280px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + S_GraduateNo + "</span>"); //证件编号

                //div_data.Append("<img style=\"position:absolute; top:100px; left:400px;\" border='0' src='" + S_Pic + "' width='114' height='149' />");        //照片

                div_data.Append("<span style=\"position:absolute; top:165px; left:60px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + S_Name + "</span>"); //学员名称

                div_data.Append("<span style=\"position:absolute; top:165px; left:170px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + S_Sex + "</span>"); //性别

                div_data.Append("<span style=\"position:absolute; top:190px; left:250px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + S_StudyVehicleType + "</span>"); //准驾车型



                div_data.Append("<span style=\"position:absolute; top:165px; left: 235px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + sRegYear + "</span>"); //报名时间(年)

                div_data.Append("<span style=\"position:absolute; top:165px; left:315px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + sRegMonth + "</span>"); //报报名时间(月)

                div_data.Append("<span style=\"position:absolute; top:165px; left:355px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + sRegDay + "</span>"); //报名时间(日)



                div_data.Append("<span style=\"position:absolute; top:190px; left:30px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + gRYear + "</span>"); //结业时间(年)

                div_data.Append("<span style=\"position:absolute; top:190px; left:98px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + gRMonth + "</span>"); //结业时间(月)

                div_data.Append("<span style=\"position:absolute; top:190px; left:140px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + gRDay + "</span>"); //结业时间(日)





                div_data.Append("<span style=\"position:absolute; top:265px; left:220px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + sPrintYear + "</span>"); //打印时间(年)

                div_data.Append("<span style=\"position:absolute; top:265px; left: 300px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + sPrintMonth + "</span>"); //打印时间(月)

                div_data.Append("<span style=\"position:absolute; top:265px; left: 353px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + sPrintDay + "</span>"); //打印时间(日)



                div_data.Append("<span style=\"position:absolute; top:240px; left:250px; width:400px;height:50px; font-family:楷体;font-weight:bold; font-size:18px;\">" + D_Name + "</span>"); //培训机构



                div_data.Append(" </div>");

                #endregion

                if (prinCount == (i + 1))      //全部打印完成后,移除Session保存的值

                {

                    ClientScript.RegisterStartupScript(this.GetType(), "print", "<script>myShow4();</script>");

                    Session.Remove("canshu");

                }

            }







        }

        //[AjaxMethod]

        [WebMethod]

        public static string UpdatePrintStatus(string stulist)

        {

            string msg = string.Empty;

           int result= Common.Update("T_Student_Base", "IsGraducatePrint=1", "ID in(" + stulist + ")");

           if (result > 0)

           {

               msg = "ok";

           }

           else {

               msg = "error";

           }

           return msg;

        }

        private string ConvertUrl(string imgUrl)

        {

            if (!string.IsNullOrEmpty(imgUrl))

            {

                imgUrl = imgUrl.Substring(1, imgUrl.Length - 1);

                string strDomain = "http://" + HttpContext.Current.Request.Url.Host;

                int iPort = HttpContext.Current.Request.Url.Port;

                string imgPath = strDomain + ":" + iPort.ToString() + "/" +

                                 imgUrl.Replace(Server.MapPath("/"), "").Replace(@"\", "/");



                return imgPath;

            }

            else

            {

                return "";

            }

        }

    }

}

 

你可能感兴趣的:(asp.net)