Сообщить о проблемах с шириной окна просмотра и фоном

Я новичок в службах отчетов, и у меня возникли проблемы с корректным отображением отчета на моей странице ASPX. Я применил следующие свойства к средству просмотра отчетов MS 10, используя asp.net 4.0.

AsyncRendering="true" SizeToReportContent="true" Width="100%"

введите здесь описание изображения

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

Любые предложения приветствуются!


person Rahul Jain    schedule 09.12.2013    source источник


Ответы (1)


Оберните 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
comment
спасибо @JotaBe, после применения вышеуказанных изменений, хотя он применил белый цвет, но ширина панели инструментов средства просмотра отчетов такая же, как и раньше. - person Rahul Jain; 09.12.2013