У меня была такая же проблема, и я исправил ее с помощью jQuery. Поскольку средство просмотра отчетов использует iframes, нелегко добраться до элемента <TD>
, который необходимо удалить. Я попробовал различные методы и, наконец, остановился на следующем взломе. Возможно, это не так хорошо, как может быть, но у меня работает.
Сначала я обертываю средство просмотра отчетов в <DIV>
и скрываю его:
<div id="rpt-container" style="display: none;">
<rsweb:ReportViewer ID="rptViewer" Width="99.9%" BackColor="#eeeeee"
runat="server" ShowExportControls="False">
</rsweb:ReportViewer>
</div>
Затем я добавил следующий фрагмент jQuery, чтобы найти удаляемый элемент, позволяющий выполнить успешный рендеринг в Chrome.
<script type="text/javascript">
$().ready(function() {
setTimeout( function(){
$('td#oReportCell', window.parent.frames[0].frames[1].document).next().remove();
$("#rpt-container").fadeIn();
}, 300); //slight delay to allow the iframe to load
});
</script>
Я пытался использовать плагин frameReady, но мне не повезло. В качестве компромисса я просто установил задержку около 300 миллисекунд, прежде чем пытаться извлечь элемент DOM внутри iframe. Если вы не скрываете / не исчезаете в отчете, вы видите некрасивую анимацию при удалении элемента.