zoukankan      html  css  js  c++  java
  • 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更多技术内容,请持续关注。

  • 相关阅读:
    idhttp post 上传或下载时显示进度条(对接idhttp1.OnWork事件)
    DBGridEh列宽自动适应内容的简单方法
    好的python链接
    Git安装和使用
    Git及码云学习总结
    创建编写博客园写博客
    Git和Github的使用
    sql sever 两数据表差异比较EXCEPT、INTERSECT
    Vue学习(七)capture模式
    Vue学习(六)计算属性和侦听属性的区别以及应用场景
  • 原文地址:https://www.cnblogs.com/hangwei/p/4204097.html
Copyright © 2011-2022 走看看