2013-12-09 3 views
1

Я новичок в службах отчетов и затрудняюсь получить отчет для рендеринга на моей странице ASPX. Я применил следующие свойства на MS Report Viewer 10 с помощью ASP.NET с 4,0Report viewer width & background issues

AsyncRendering = "истина" SizeToReportContent = "истина" ширина = "100%"

enter image description here

В моем отчете сделан цвет фона страницы вместо белого цвета, ширина также не применяется правильно. выше - снимок экрана для того же самого.

Любые предложения оценили !!

ответ

4

Оберните ReportViewer в div. Установите ширину (обычно 100%) и цвет фона (должен быть белым) в вашем обертке div.

Это решит проблему фона. Однако у вас по-прежнему будут разные проблемы с разными браузерами: проблемы отличаются от браузера к браузеру и версии к версии.

В ReportViewer 11.0 (вы можете легко проверить версию ReportViewer в web.config), даже если вы установите ширину на 100%, вы получите пустое пространство справа в большинстве случаев. Единственный способ заполнить его - применить стиль «width: 100%» к таблице, находящейся внутри HTML-рендеринга отчетов.

Идентификатор этой таблицы: ClientId управления ReportViewer, с суффиксом _fixedTable. Например, если идентификатор клиента в контроле отчета равен Container1_Container2_ReportViewer1, будет таблица с идентификатором Container1_Container2_ReportViewer1_fixedTable. Если вы примените стиль к этой таблице, он займет все пространство. Проверяется в текущих версиях FF (25), IE (10) и Chrome (31).

Если вы всегда делают отчет в той же странице, в ClientId, и, таким образом, фиксированный идентификатор таблицы, всегда будет то же самое, так что вы могли бы добавить это в вашем файле .css:

#Container1_Container2_ReportViewer1_fixedTable { 
width: 100% 
} 

If это не так, то вы можете использовать селектор CSS3, как это:

table[id$='_fixedTable'] { 
width: 100% 
} 

который выбирает все таблицы, которые имеют идентификатор, который заканчивается с _fixedTable. Точный CSS, который вы используете, будет зависеть от вашего конкретного случая, но помните, что наиболее конкретный, лучше (примените его только к затронутой странице или страницам, примените его к известному контейнеру ... помните, что «концы с» будут проверьте все таблицы в браузере). Так что вы можете сделать что-то вроде этого:

<style type="text/css"> 
    #<%=reportViewer.ClientID%>_fixedTable { 
     width: 100%; 
    } 
</style> 

Имейте в виду, что нет никакой гарантии, что это решит проблему для всех версий всех браузеров. HTML reportViewer настолько сложный и сложный, что он обязательно вызовет проблемы. Старые версии ReportViewer имели разные проблемы и требовали различных решений.

+0

спасибо @JotaBe, после применения вышеуказанных изменений, хотя он применил белый цвет, но ширина панели инструментов для просмотра отчетов аналогична предыдущей. –