Замораживание заголовков столбцов в браузере при прокрутке


Я пытаюсь заморозить все заголовки столбцов в отчете при прокрутке вниз. Я прочитал множество статей о том, как перейти в расширенный режим, выбрать заголовок и установить FixedData в True, KeepWithGroup в After, RepeatOnNewPage в True. Это работает при предварительном просмотре отчета, но не работает в браузере. Я пробовал использовать IE 11, Chrome и другие браузеры, но ни один из них не исправляет заголовки столбцов при прокрутке.

Я потратил часы, пытаясь заставить это работать, и прочитал такие статьи, Как: заморозить заголовок столбца при прокрутке и замораживание заголовков столбцов при прокрутке в SSRS , но ни один из них не выполняет этого в браузере.

Я попытался создать простой табличный отчет из Мастера отчетов и следовать этим инструкциям, но он по-прежнему не работает. Это очень важно, чтобы начать работать, чтобы использовать SSRS. Я использую SSRS 2012. Любая помощь будет очень признательна.

5 4

5 ответов:

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

Если есть несколько "статических" членов, выделите их по очереди и отметьте, куда перемещается поле выбора в вашем табликсе - это может помочь выбрать правильный - обычно последний.

Мой любимый пост на эту тему от Роберта B:

Http://blogs.msdn.com/b/robertbruckner/archive/2008/10/13/repeat-header-and-visible-fixed-header-table.aspx

Удачи - это все еще такая невероятная неразбериха после 5 лет и 3 релизов ...

Это безумная идея, но вместо того, чтобы использовать средство просмотра отчетов, не могли бы вы отобразить отчет в HTML и добавить его на веб-страницу с классом CSS, который изменит заголовок на position:fixed;?

Похоже, что фиксированные заголовки просто не работают в ASP.NET контроль просмотра отчетов. У меня есть простая страница aspx с элементом управления ReportViewer на ней, тестирую ее в IE 11. Фиксированные заголовки работают в менеджере предварительного просмотра и отчетов, но не в ASP.NET контроль просмотра отчетов. Поэтому я решил просто показать свои отчеты с помощью встроенного средства просмотра отчетов. Исправленные заголовки столбцов работают именно так.

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

Мой прорыв был, когда я начал тестирование с использованием свежего SSRS 2012 установить замораживание строк и столбцов работал отлично. Сравнивая различия между этой и моей живой системой, я обнаружил, что проблема заключалась в изменениях, внесенных в ReportingServices.js для исправления пустых отчетов, отображаемых в Chrome.

Принуждение эль.стиль.overflow = "visible" вместо своего значения по умолчанию "auto" нарушает замораживание в IE. Наш веб-разработчик изменил оператор if, чтобы он не выполнял замену для IE, проверяя, существует ли функция non IE (окно.addEventListener).

if (el  && window.addEventListener)
    el.style.overflow = "visible";

Итак, полный код добавлен в свежий ReportingServices.js - это следующее

function pageLoad() {
   el = document.getElementById("ctl32_ctl09"),

   //Fix Chrome invisible report
   if (el  && window.addEventListener)
      el.style.overflow = "visible";
}
if (window.addEventListener) {
   window.addEventListener('load', pageLoad, false);
} else {
   window.attachEvent('onload', pageLoad);
}

C:\Program файлы\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportManager\js\ ReportingServices.js

Мне удалось заморозить заголовки моих колонок в IE 9. У IE 11 были проблемы. IE 11 также не отображал вертикальные и горизонтальные полосы прокрутки Решением (для меня) было перевести IE 11 в режим совместимости.

Инструкции по использованию режима совместимости. 1) Щелкните правой кнопкой мыши в верхней части окна, а затем выберите, чтобы показать " строка меню" 2) в меню выберите пункт Сервис 3) Нажмите кнопку "Просмотр совместимости", чтобы добавить текущий веб-адрес в список страниц для отображения в представлении совместимости, этот список может быть управляется скорее нажатием кнопки "настройки представления совместимости"

Надеюсь, это поможет.. Я не мог найти это документально подтвержденное в другом месте.