SSRS 2005 ReportViewer сокращает мои отчеты - PullRequest
4 голосов
/ 30 сентября 2010

Я собрал несколько отчетов, которые отображаются именно так, как мне хотелось бы, в предварительном просмотре в Visual Studio, но когда я просматриваю их в веб-браузере, они сначала отображаются так, как требуется, но быстро сжимаются в левую половину.окна браузера зрителем.Уровень масштабирования установлен на 100% - установка его на Page Width уменьшает масштаб отчета, чтобы заполнить страницу, но не исправляет разрывы строк, сделанные при начальном «сжатии».

Кто-нибудьзнаете, как запретить зрителю делать это изменение размера?

Кроме того, ReportViewer автоматически отключает кнопку максимизации в своем родительском окне браузера?Я совершенно новичок во всем этом ....

Спасибо, Дэн

Ответы [ 4 ]

6 голосов
/ 06 декабря 2011

Проблема сокращения отчетов в CHROME при использовании SSRS 2005 может быть решена с помощью следующего решения. Он работает ВСЕГДА, даже если у вас более одной страницы и вы экспортируете отчет.

Последовательность шагов:

  1. Открыть страницу нижнего колонтитула
  2. Перетащите прямоугольник на него
  3. Установить местоположение прямоугольника как:
    • Слева = 0
    • Top = 0
  4. Установить размер прямоугольника как:
    • Ширина = "Ширина вашего отчета"
    • Высота = 0,1

При указанных выше настройках прямоугольник не будет отображаться.

1 голос
/ 20 октября 2010

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

Принятое выше решение не будет работать во всех случаях, особенно если вы настроили подписку для отправки отчета клиенту по электронной почте.

0 голосов
/ 12 января 2012

Нашим исправлением было увеличение Height и Width на Javascript:

var t1;
function manageWidthReportViewer(behID) {
    t1 = window.setInterval("SetWidthForCrome()", 1);
}
function SetWidthForCrome() {

     var mainReportViewer = document.getElementById('iFrameMainReportViewerContainer'); 
    var reportFrame = mainReportViewer.contentWindow.document.getElementById('ReportFramereportViewer');
    var report = reportFrame.contentWindow.document.getElementById("report");
    if(mainReportViewer.contentDocument.getElementById("reportViewer") != null)
        mainReportViewer.contentDocument.getElementById("reportViewer").childNodes[2].childNodes[1].childNodes[1].style.float = "left";
    if (report!=null && report.contentDocument.getElementById("oReportCell") != null) {
        report.contentDocument.getElementById("oReportCell").style.width="100%";

        window.clearInterval(t1);
    }
}

function SetReportViewerDim() {
    var controlPanelHeight = screen.availHeight - 210;

    var mainReportViewer = document.getElementById('iFrameMainReportViewerContainer'); //set
    mainReportViewer.removeAttribute('height');
    mainReportViewer.style.height = (controlPanelHeight-37) + "px";

    var reportViewer = mainReportViewer.contentWindow.document.getElementById('reportViewer'); //set
    reportViewer.style.height = (controlPanelHeight) + "px";

    var reportFrame = mainReportViewer.contentWindow.document.getElementById('ReportFramereportViewer');

     if (Sys.Browser.name == "Safari") {
    manageWidthReportViewer(reportFrame);
    }

}
0 голосов
/ 11 октября 2010

После долгих поисков я обнаружил, что решение SSRS сокращает мои отчеты. Для справки, вы должны сделать три вещи

  1. Удалить объявление со страницы aspx моего хостинга
  2. Установите для свойства Reportyner's AsyncRendering значение false.
  3. Установите для свойства ReportViewer Width значение 100%

Очевидно, что в SSRS 2005 есть ошибка с механизмом рендеринга XHTML, которая теперь исправлена ​​с перестройкой ядра в SSRS 2008.

...