Ниже приведен фрагмент кода, который я использовал в своем простейшем решении.
android:layout_marginRight="16dp"
android:layout_centerVertical="true">
Если вы хотите получить дополнительное объяснение, пожалуйста, посмотрите следующую ссылку , где я объяснил это достаточно хорошо.
Надеюсь, что это может быть полезно для всех, кто там!
Ура!
Я не думаю, что он использует ActiveX, потому что в событии onclick таблицы есть просто:
ReportFramerpvReport.GetReportFrame().contentWindow.print()
В любом случае, я заменил этот print на мою собственную функцию print, потому что этот код выше не работал на FF...
Я знаю, что это уродливо... но это работает! (просто замените значение ControlName на ваш ControlID и не забудьте добавить jQuery lib в вашу страницу)
$(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);
}
Если вы предлагаете возможность экспорта через ReportViewer, пользователь все равно может экспортировать в PDF и распечатать его. Не так эффективно / гладко, как кнопка печати одним щелчком, но это легко обойти.
Не решение, а немного информации.
Я довольно регулярно использую SSRS для внутренних проектов, так как знаю, что вся целевая аудитория использует IE, но я не использую его для внешних веб-приложений, как это было раньше. много проблем с ним в FF (средства выбора даты не работают и т. д.), хотя я никогда не смотрел на параметры кнопки печати, я подозреваю, что это может быть аналогичная проблема (элемент управления просмотром отчетов, разработанный только для IE!), поскольку, похоже, это влияет на панель инструментов в
Выходя из этого http://www.windows-tech.info/15/5fb0fd315e07edf8.php кажется, что используются некоторые элементы управления activex, а FF не выполняет activeX изначально, хотя я помните плагин, который позволял загружать элементы управления ActiveX, но где я видел, что не могу вспомнить.
РЕДАКТИРОВАТЬ: http://www.iol.ie/~locka/mozilla/plugin.htm Я никогда этим не пользовался и могу 'Я ручаюсь за это, но здесь есть плагин.
Для веб-проектов я обычно использую Crystal!
HTH