I am using SQL Reporting services, it's working perfectly and shows a print button in IE, but not shown in Mozilla Firefox.
Does anyone have any idea?
I have checked out this solution, but it's not working:
I am using SQL Reporting services, it's working perfectly and shows a print button in IE, but not shown in Mozilla Firefox.
Does anyone have any idea?
I have checked out this solution, but it's not working:
Have you tried writing your own print function?
http://blogs.msdn.com/brianhartman/archive/2009/02/27/manually-printing-a-report.aspx
Not a solution but a bit of info.
I use SSRS quite regularily for internal projects as i know the target audience are all using IE, but i do not use it for external web facing apps as i have had so many problems with it in FF (date pickers not working etc), although i have never looked at the print button options i suspect this may be a similar problem (report viewer control designed only for IE!) as it seems to affect the toolbar in general.
Going off this http://www.windows-tech.info/15/5fb0fd315e07edf8.php it seems that some activex controls are used and FF doesn't do activeX natively although i do remember a plugin that allowed activex controls to be loaded but where i saw that i can't remember.
EDIT: http://www.iol.ie/~locka/mozilla/plugin.htm I've never used it and can't vouch for it but there is a plugin here.
For web facing projects i tend to use Crystal!
HTH
If you're offering export functionality via the ReportViewer, the user can still export to PDF and print that. Not as efficient/slick as a one-click print button, but it's an easy work around.
Visual Studio 2005 does not support webforms printing in local mode.
I was having this same problem in Firefox and after reading these comments I double-checked my report in IE8. The Print button appears as-expected. The same is true of the chevrons that make the collapse-header button on the right side of the viewer. As I look through the rendered HTML I can't even find those button items in FF, though they're there in IE.
I don't think it uses ActiveX, because in the table onclick event there is a simple:
ReportFramerpvReport.GetReportFrame().contentWindow.print()
Anyway, i replaced this print stuff with my own print function, because this code above wasn't working on FF..
I know it's ugly...but it works! (just replace the ControlName value with your ControlID and be sure to add jQuery lib in your page)
$(document).ready(function()
{
if ($.browser.mozilla)
{
try
{
var ControlName = 'RptDespesas';
var innerScript = '<scr' + 'ipt type="text/javascript">document.getElementById("' + ControlName + '_print").Controller = new ReportViewerHoverButton("' + ControlName + '_print", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");</scr' + 'ipt>';
var innerTbody = '<tbody><tr><td><input type="image" style="border-width: 0px; padding: 2px; height: 16px; width: 16px;" alt="Print" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=9.0.30729.1&Name=Microsoft.Reporting.WebForms.Icons.Print.gif" title="Print"></td></tr></tbody>';
var innerTable = '<table title="Print" onmouseout="this.Controller.OnNormal();" onmouseover="this.Controller.OnHover();" onclick="PrintFunc(\'' + ControlName + '\'); return false;" id="' + ControlName + '_print" style="border: 1px solid rgb(236, 233, 216); background-color: rgb(236, 233, 216); cursor: default;">' + innerScript + innerTbody + '</table>'
var outerScript = '<scr' + 'ipt type="text/javascript">document.getElementById("' + ControlName + '_print").Controller.OnNormal();</scr' + 'ipt>';
var outerDiv = '<div style="display: inline; font-size: 8pt; height: 30px;" class=" "><table cellspacing="0" cellpadding="0" style="display: inline;"><tbody><tr><td height="28px">' + innerTable + outerScript + '</td></tr></tbody></table></div>';
$("#" + ControlName + " > div > div").append(outerDiv);
}
catch (e) { alert(e); }
}
});
function PrintFunc(ControlName)
{
setTimeout('ReportFrame' + ControlName + '.print();', 100);
}