Оберните ReportViewer в div. Установите ширину (обычно 100%) и цвет фона (должен быть белым) в обертке div.
Это решит проблему с фоном. Однако у вас все равно будут разные проблемы с разными браузерами: проблемы различаются от браузера к браузеру и от версии к версии.
В ReportViewer 11.0 (вы можете легко проверить свою версию ReportViewer в web.config), даже если вы установите ширину на 100%, вы получите пустое место справа в большинстве случаев. Единственный способ заполнить его — применить стиль «ширина: 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%
}
Если это не так, вы можете использовать селектор CSS3 следующим образом:
table[id$='_fixedTable'] {
width: 100%
}
Который выбирает все таблицы, идентификатор которых заканчивается на _fixedTable. Точный CSS, который вы используете, будет зависеть от вашего конкретного случая, но помните, что чем конкретнее, тем лучше (примените его только к затрагиваемой странице или страницам, примените его к известному контейнеру... помните, что "заканчивается на" будет проверьте все таблицы в браузере). Итак, вы можете сделать что-то вроде этого:
<style type="text/css">
#<%=reportViewer.ClientID%>_fixedTable {
width: 100%;
}
</style>
Имейте в виду, что нет никакой гарантии, что это решит проблему для всех версий всех браузеров. HTML-код reportViewer настолько сложен и запутан, что обязательно вызовет проблемы. Старые версии reportViewer имели другие проблемы и требовали других решений.
person
JotaBe
schedule
09.12.2013