2012-02-22 2 views
0

Microsoft Windows XP Professional 버전 2002 서비스 팩 3에서 실행되는 Mozilla Firefox 8.0.1을 사용하고 있습니다. hp laser jet 1320 PCL 5 프린터 또는 Microsoft XPS Document Writer를 선택하여 인쇄하려고하면 브라우저가 다운됩니다.Silverlight 4.0 응용 프로그램에서 radgridview 데이터를 인쇄하려고 할 때 Firefox가 멈추고 충돌이 발생하는 것을 어떻게 해결할 수 있습니까?

참고 : "인쇄"대화 상자에는 "진행 : 준비 중"이라는 메시지 만 표시됩니다. 대화 또는 브라우저를 클릭하면 프로그램이 응답하지 않습니다. 브라우저를 다시 시작하고 인쇄본을 재설정합니다 (print_printer). 그러나 문제가 해결되지 않습니다.

비주얼 스튜디오 2010.it에서 내 실버 라이트 4.0 응용 프로그램의 radridridview (데이터 컨트롤 중 하나) 데이터가 더 적은 양의 데이터에 대해서는 정상적으로 작동하지만 대량으로 이동하면 다른 여우가 아닌 fire fox 만 충돌합니다. 예 : 크롬, 사파리 등 ...

이 문제를 해결할 방법이 있습니까?

여기 내 코드입니다 :

Xaml.cs page 
------------ 
private void PrintButton_Click(object sender, RoutedEventArgs e) 

    { 
     try 
     { 
      rptDataGridData = new RadGridView(); 
      rptDataGridData = reportPlaceHolder.FindChildByType<RadGridView>() as RadGridView; 
      if (rptDataGridData != null ? rptDataGridData.ItemsSource != null : false) 
      { 
       Telerik.Windows.Controls.ExportFormat format = Telerik.Windows.Controls.ExportFormat.Html; 
       format = Telerik.Windows.Controls.ExportFormat.Html; 
       MemoryStream ms = new MemoryStream(); 
       rptDataGridData.Export(ms, 
         new GridViewExportOptions() 
         { 
          Format = ExportFormat.Html, 
          ShowColumnHeaders = true, 
          ShowColumnFooters = true, 
          ShowGroupFooters = false, 
         }); 

       StringBuilder data = new StringBuilder(); 
       StreamReader streamReader = new StreamReader(ms); 
       ms.Position = 0; 
       streamReader.DiscardBufferedData(); 
       while (!streamReader.EndOfStream) 
       { 
        data.Append(streamReader.ReadLine()); 
       } 

       data = data.Replace("style=", "class=\"heading\" style="); 
       string htmlContent = string.Format(
        @"<style type='text/css'> 
         html, body {{ 
            font-family:Verdana, Arial, Helvetica, sans-serif; 
           }} 
         table {{ 
          border-width: 1px; 
          border-spacing: 1px; 
          border-style: none; 
          border-color: gray; 
          border-collapse: collapse; 
          background-color: white; 
         }} 
         table td {{ 
          border-width: 1px; 
          padding-left: 3px;c 
          padding-right: 15px; 
          padding-top:5px; 
          padding-bottom:3px; 
          border-style: inset; 
          border-color: gray; 
          background-color: white; 
          font-size:11px; 
         }} 
         table td.heading {{ 
          border-width: 1px; 
          padding-left: 5px; 
          padding-right: 15px; 
          padding-top:5px; 
          padding-bottom:5px; 
          border-style: inset; 
          border-color: rgb(192, 192, 192); 
          font-weight: bold; 
         }} 
        </Style> 
        {0}" 
        , data.ToString()); 



       HtmlPage.Window.Invoke("WriteContent", new object[] { htmlContent }); 
      } 
      else 
      { 
       MessageBox.Show("There is no data to print", MortalMessage.MortalErrorHeading, MessageBoxButton.OK); 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message,MortalMessage.MortalErrorHeading,MessageBoxButton.OK); 
     } 
    } 
     aspx page 
     --------- 

     function WriteContent(contentToPrint) { 
     var ifrm = document.getElementById('frmPrint'); 
     ifrm = (ifrm.contentWindow) ? ifrm.contentWindow :          (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument; 
     ifrm.document.open(); 
     ifrm.document.write(contentToPrint); 
     ifrm.document.close(); 
     ifrm.focus(); 
     ifrm.print(); 

     <iframe src="about:blank" runat="server" id="frmPrint" height="0" width="0" /> 

답변

0

시도, 부가 기능을 사용하지 않도록 파이어 폭스를 다시 시작하고 인쇄하려고합니다. 동결의 원인이되는 애드온을 설치했을 수 있습니다.

부가 기능을 비활성화하는 방법은 무엇입니까? 안전 모드에서 열려면 Firefox를 Shift + 클릭하고, 모든 추가 기능을 비활성화하고, 도구 모음 및 컨트롤을 재설정하십시오. 변경하고 다시 시작을 클릭하십시오.

나는 어쨌든 당신의 Firefox 버전을 업그레이드하는 것을 고려할 것입니다 - 당신은 더 많은 버그 수정 및 개선의 혜택을 누리고 있습니다.