打印报告而不显示数据

时间:2011-12-05 09:26:25

标签: c# printing reporting

如何在不显示数据的情况下打印报告,这意味着只有纸张输出无屏幕输出。

在我的母版页面中我放了一个iframe:

  <iframe id="reportout" width="0" height="0" />
    </form>

和我的Ford.aspx:

 <script type="text/javascript">
     // Submit Button
     function OnSumbitButtonClick(s, e) {
        // e.processOnServer = false;
         var Temp = <%= TempId %> //Get value from Server
         //alert(Temp +'--'+ ASPxTextBox_NBR_COLIS.GetValue());
         document.getElementById('reportout').contentWindow.location = '../Print/BonEticket_Web.aspx?OdreID=' + Temp + '&CountOrdre=' +ASPxTextBox_NBR_COLIS.GetValue();
     }
    </script>

    <dx:ASPxButton ID="ASPxButton_save" runat="server" Image-Url="~/images/Icon/Good-or-Tick-icon.png" Text="Enregistrer"  Width="110px" onclick="ASPxButton_save_Click"> 
                                 <ClientSideEvents Click ="OnSumbitButtonClick" />                   
                                                 </dx:ASPxButton>

和m Ford.aspx.cs:

 protected void ASPxButton_save_Click(object sender, EventArgs e)
    {
        try
        {

          //Get new inserted ID from Database --> my SQL id is autoincrement
          TempId = oOrdre_BL.SaveUpdt_Ordre_BL(oPersOrdr, OrdreID);
           // Response.Redirect("../Print/BonEticket_Web.aspx?OdreID=" + TempId + "&CountOrdre=" + ASPxTextBox_NBR_COLIS.Text);
        }
        catch (Exception ex)
        {
            lbl_err.Text = ex.Message;
            if (ex.InnerException != null) { lbl_err.Text += "-->" +ex.InnerException.Message; }
        }

当我启用javascript时问题:e.processOnServer = false;它可以正常工作,但我不能这样做,因为我需要来自服务器var Temp = <%= TempId %>的计算数据

先谢谢你帮助我。

1 个答案:

答案 0 :(得分:1)

Internet Explorer有两个事件onbeforeprint和onafterprint,他们按照他们的说法行事 这是一个关于它们的小教程:http://www.javascriptkit.com/javatutors/ie5print.shtml
但是,如果您在企业环境之外,每个人都在使用IE,那么您必须具有创造性。

我能想到的一个想法是在弹出窗口中显示打印文本,打印自己并关闭。