Замораживание заголовков столбцов в браузере при прокрутке
Я пытаюсь заморозить все заголовки столбцов в отчете при прокрутке вниз. Я прочитал множество статей о том, как перейти в расширенный режим, выбрать заголовок и установить FixedData в True, KeepWithGroup в After, RepeatOnNewPage в True. Это работает при предварительном просмотре отчета, но не работает в браузере. Я пробовал использовать IE 11, Chrome и другие браузеры, но ни один из них не исправляет заголовки столбцов при прокрутке.
Я потратил часы, пытаясь заставить это работать, и прочитал такие статьи, Как: заморозить заголовок столбца при прокрутке и замораживание заголовков столбцов при прокрутке в SSRS , но ни один из них не выполняет этого в браузере.
Я попытался создать простой табличный отчет из Мастера отчетов и следовать этим инструкциям, но он по-прежнему не работает. Это очень важно, чтобы начать работать, чтобы использовать SSRS. Я использую SSRS 2012. Любая помощь будет очень признательна.
5 ответов:
Очень важно выбрать правильный "статический" элемент перед установкой этих свойств. Для вашего сценария, я думаю, вам нужен статический член в списке групп строк.
Если есть несколько "статических" членов, выделите их по очереди и отметьте, куда перемещается поле выбора в вашем табликсе - это может помочь выбрать правильный - обычно последний.
Мой любимый пост на эту тему от Роберта B:
Удачи - это все еще такая невероятная неразбериха после 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) Нажмите кнопку "Просмотр совместимости", чтобы добавить текущий веб-адрес в список страниц для отображения в представлении совместимости, этот список может быть управляется скорее нажатием кнопки "настройки представления совместимости"
Надеюсь, это поможет.. Я не мог найти это документально подтвержденное в другом месте.