SSRS(rdl报表)分页显示表头和对表头的冻结处理

基础环境

最近在公司做西门子某系统的二次开发,需要用到SQLServer Reporting Services(SSRS)。我们用的SQL版本是

SQLServer 2008 R2;在设计报表时,表格用的是矩阵(Tablix)。由于集团用户在西门子系统实施当时,已向西门子开发人员提出过这个问题,西门子当时给出的回答是:“技术原因,不能实现。”。

现在回想,一是他们没仔细研究过这个问题,二是关于SSRS的资料实在太少的缘故吧。

技术实现

首次尝试是通过Tablix属性

发现即使把这些“功能”全部勾选,也不能实现想要的效果。报表数据的表头还是不能分页显示,还是不能被“冻结”。

研究了下,发现通过修改报表文件的xml代码可以实现想要的效果。

在打开xml视图后,查找<TablixRowHierarchy>节点,

找到节点后,修改第一个TablixMember(一般第二个是group信息)

为方便大家修改,贴出代码:

<TablixRowHierarchy>
          <TablixMembers>
            <TablixMember>
              <KeepWithGroup>After</KeepWithGroup>
              <RepeatOnNewPage>true</RepeatOnNewPage>
              <FixedData>true</FixedData>
            </TablixMember>
            <TablixMember>
              <Group Name="pom_order_id">
                <GroupExpressions>
                ...

其中<KeepWithGroup>节点和<RepeatOnNewPage>节点的使用,作用是翻页显示表头;<FixedData>节点则是冻结表头,即拉动滚动条时显示表头。
最后,报表实现效果

关于SSRS更多技术内容,请持续关注。

时间: 2024-08-26 01:29:43

SSRS(rdl报表)分页显示表头和对表头的冻结处理的相关文章

RDL报表分页显示表头

<TablixRowHierarchy> <TablixMembers> <TablixMember> <KeepWithGroup>After</KeepWithGroup> <RepeatOnNewPage>true</RepeatOnNewPage> 加上这句就可以了 </TablixMember> <TablixMember> <Group Name="详细信息"

RDLC报表分页显示标题

将报表以 XML的方式打开,搜索找到“详细信息” 在这个位置 <TablixRowHierarchy> <TablixMembers> <TablixMember> <KeepWithGroup>After</KeepWithGroup> //有时候此节点也会没有.但对照节点顺序添加这2句就可以. <RepeatOnNewPage>true</RepeatOnNewPage> // 添加这个 </TablixMemb

水晶报表主子报表分页问题

导言: 在设计主子报表时,通过在主报表的详细段分组,依次显示子报表.主报表只是个框架,子报表分别显示数据.在设计过程中,因为不清楚原理,经常性的子报表无故分页,给报表设计带来了极大的麻烦.现在将遇到的问题总结如下:报表结构如下图: 子报表1放在详细资料a中,子报表2放在详细资料b中 一.表头有空页 原因:主报表的报表头/页眉区域过大使得分页 解决: 1.将主报表 表头/页眉抑制显示:section expert 中设置表头/页眉抑制显示 2.移动准线使得主报表 表头/页眉区域压缩为没有 二.子报

水晶报表主报表分页问题

前言: 在设计大师声明,通过分组主报告的特定部分,打开子报表.主报告只是一个框架,子报表显示的数据. 在设计过程中.由于该原则不明确.无故分页.给报表设计带来了极大的麻烦.如今将遇到的问题总结例如以下:报表结构例如以下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRlMxMzYwNDcyMTc0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast"

asp网络编程:ASP中实现分页显示的七种武器

在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的Recordset对象使得控制数据的输出显示更为方便.自由.而在Visual InterDev6.0(以下简称VI6.0)中,由于Script Object Model(以下简称SOM).Design-Time Control(以下简称DTC)以及Data Environment Object Model(以下简称DEOM)等对象模型的引入,使网页对数据库的访问设计显得更为方便. 因为主题方面的原因,关于

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表 这次我们来演示MVC3怎么显示RDL报表,坑爹的微软把MVC升级到5都木有良好的支持报表,让MVC在某些领域趋于短板 我们只能通过一些方式来使用rdl报表. Razor视图不支持asp.net服务器控件,但是aspx可以,所以用户其实可以通过aspx视图模版来显示rdl报表或者水晶报表. 我是有强迫症的人,我不喜欢在众多razor视图中,让aspx视图鹤立鸡群,所以这节主要

PHP+Mysql————数据分页显示技术

通常情况下,一个页面加载大量的数据时,数据不可能同时显示出来.这时候,比较常用的方法就是滚动条和分页.看过电子书的孩子都知道,电子书那么多字,一个手机或pad的屏幕是无法全部显示的,开玩笑,一本几兆的书就好几百万字,一下子放到几寸的屏幕上,不得亮瞎你的眼.所以我们都是下滑使文字进行滚动或翻页.这篇博文就用来分享一下php的分页技术. 首先获取数据库中某表的数据,输出到网页上,然后再进行分页显示.一句话就讲明白了,但具体怎么分页的,请看代码. <?php header("content-ty

自制MVC框架CRUD操作、列表、分页显示插件介绍

这里涉及到的操作都是引用自Stephen.DALService数据层.数据访问层实现方式在后文中我会仔细的说明,先说明一下数据操作集成的插件. 1).InsertAttribute 用于插入记录. 状态返回值:假定hashtable传递变量名的是context ,那么返回值可通过context[InsertAttribute.ValueKey]得到,推荐返回的是插入的主键ID值,当然这个是由数据层设定的. 有以下属性可进行设置: 属性名 作用 默认值 选项说明 其它说明 Key 映射路径.格式如

PHP+MySQL分页显示示例分析

Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观.所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写. 一.分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page).有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-