Распечатать отчет без отображения данных - PullRequest
0 голосов
/ 05 декабря 2011

Как я могу распечатать отчет без отображения данных, что означает только вывод бумаги без вывода на экран.

на своей главной странице я поместил 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>

и в м. 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 Ответ

1 голос
/ 05 декабря 2011

В Internet Explorer есть два события onbefterprint и onafterprint, они делают то, что говорят.
Вот небольшой урок по ним: http://www.javascriptkit.com/javatutors/ie5print.shtml
Однако если вы находитесь за пределами корпоративной среды, в которой все используют IE, вам придется проявить творческий подход.

Идея, о которой я могу подумать, это показать текст для печати во всплывающем окне, которое печатает себя и закрывает.

...