滚动时在浏览器中冻结列标题

时间:2014-01-17 14:23:10

标签: reporting-services ssrs-tablix ssrs-2012

我正在尝试在向下滚动时冻结报表中的所有列标题。我已经阅读了很多关于如何进入高级模式的文章,选择标题并将FixedData设置为True,将KeepWithGroup设置为After,RepeatOnNewPage设置为True。这在预览报表时有效,但在浏览器中不起作用。我尝试过使用IE 11,Chrome和其他浏览器,但在滚动时都没有修复列标题。

我花了好几个小时试图让它工作并阅读以下文章: Freeze column header while scrollingFreezing column headers while scrolling in SSRS,但他们都没有在浏览器中完成此任务。

我尝试从报告向导创建一个简单的表格报告并遵循这些说明,但它仍然无效。这对于使用SSRS非常重要。我正在使用SSRS 2012.非常感谢任何帮助。

5 个答案:

答案 0 :(得分:1)

在设置这些属性之前选择正确的“静态”成员至关重要。对于您的场景,我认为您希望在“行组”列表中使用静态成员。

如果有几个“静态”成员,请依次选择它们并记下选择框在Tablix中的位置 - 这可以帮助选择正确的 - 通常是最后一个。

我最喜欢的帖子来自Robert B:

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

祝你好运 - 经过5年和3次发布,这仍然是一个无法容忍的混乱......

答案 1 :(得分:1)

看起来固定标头根本无法在ASP.NET Report Viewer控件中使用。我有一个带有ReportViewer控件的简单aspx页面,在IE 11中测试它。固定标题在预览和报表管理器中工作,但不在ASP.NET Report Viewer控件中工作。 因此,我决定只使用内置的Report Viewer来显示我的报告。固定列标题以这种方式工作。

答案 2 :(得分:1)

这是一个疯狂的想法,但是您可以将报表呈现为HTML并将其添加到具有CSS类的网页,而不是使用报表查看器,而该类会将标题更改为position:fixed;吗?

答案 3 :(得分:1)

我花了几天时间调查这个确切的问题。在预览中工作,没有部署时。我注意到几年前我的固定柱停止工作了。

我的突破是当我开始使用新的SSRS 2012安装测试时,冻结的行和列完美地工作。通过比较它与我的实时系统之间的差异,我发现问题是对ReportingServices.js所做的更改,以修复Chrome中显示的空白报告。

强制el.style.overflow =“可见”而不是默认的“自动”会破坏IE中的冻结。我们的Web开发人员更改了if语句,因此它不会通过检查非IE函数的存在来替换IE(window.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 Files \ Microsoft SQL Server \ MSRS11.MSSQLSERVER \ Reporting Services \ ReportManager \ js \ ReportingServices.js

答案 4 :(得分:0)

我能够让我的列标题在IE 9中冻结.IE 11有问题。 IE 11也没有显示垂直和水平滚动条 解决方案(对我来说)是将IE 11置于兼容模式。

使用兼容模式的说明。 1)右键单击窗口顶部,然后选择显示"菜单栏" 2)在菜单中单击工具 3)点击"兼容性视图"要将当前网址添加到要在兼容性视图中显示的网页列表中,可以通过点击"兼容性视图设置"

来管理此列表

希望这有帮助..我在其他地方找不到这个。