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" />