• 怎么实现固定行数的表格类报表


    Wyn Enterprise的表格,尽管设计时看起来是一个3行3列的结构,因为中间的明细行会根据记录数动态复制,实际的数据报表可能是很多行的表格。
    下图为表格设计时的状态:

    下图为实际展示的报表内容:


    有些表格类报表,可能表格结构是固定的,不需要根据数据集记录数动态生成表格行,比如下图的履历表:


    如果要设计这种表格行数固定不变、不随数据集记录数多少而变化的报表,应该怎么办呢?

    因为表头行是不随数据集记录数动态扩展的,设计时是几行,预览时也是几行,因此,设计这种固定表格的基本思路是:以表头行为基础,新添需要的行数;删除原有的表格明细行和表尾行。

    (一)删除明细行和汇总行
    鼠标右键点击表格行首的小图标,然后点击【删除明细行】和【删除汇总行】,可删掉表格的中间行和表尾行,如下图:

    这样操作之后,表格变成一个单行结构,如下图:


    (二)插入新的表头行
    鼠标右键单击行首的小图标,选择【行操作】-【在下方插入行】,可添加一个或者多个新的表头行,如下图:

    再添加一些列,可将表格变成下图所示的样子:


    (三)去掉表格的主题样式
    表头行单元格的背景色,是由表格的主题样式确定的。固定格式的表格往往不需要这种背景样式。为此可将表格的外观样式设置为(无)。如下图:

    这样设置之后,表格会变成透明的背景色。

    (四)输入静态内容
    固定表格中的单元格往往是两种,一是固定的文字内容(比如履历表中的“姓名”),另一种是从数据集取的动态数据(比如履历表中的“张三”)。
    在确定表格行列之后,就可以在指定的单元格中输入“姓名”之类的静态内容了。
    必要时,还需要设置多个单元格的合并,如下图:


    (五)绑定数据集
    动态内容的单元格,可以绑定数据集字段,也可以使用表达式获取其他数据(比如当前日期)或对数据进行计算,比如汇总等。
    在绑定数据集字段时,这种表头行的单元格与明细行单元格的行为略有差异。
    比如同样是 =Fields!XX.Value 这个表达式,明细行单元格会取数据集当前行对应记录的字段值,而表头行因为没有对应的记录,所以总是获取字段值的某种集合计算结果。所谓“集合计算”,就是汇总(Sum)、平均值(Avg)、计数(Count)、首条(First)等。
    如下图:

    图中的单元格绑定了【客户姓名】字段。如果是表格的明细行,那么表格会生成多行,每行一个不同的姓名信息。
    现在是表头行的单元格, 预览时,这个单元格内将总是显示数据集第一条记录的【客户姓名】字段值,也就是=First(Fields!客户姓名.Value) 的结果,如下图:

    如果需要,可以自行将 =Fields!XX.Value 这样的表达式修改为 =Sum(Fields!XX.Value) 或者 =Count(Fields!XX.Value) 等表达式。
    其中,Sum是针对数值型字段,Count一般是针对非数值型字段。

  • 相关阅读:
    通过编程添加Outlook联系人和通讯组
    一个比较完整的WindowsFormsApplication实现
    读书笔记:《粘住:为什么我们记住了这些,忘掉了那些?》
    最新购书
    新买的2本书都不错
    压榨机器,Hack,设计极限强度的网络应用
    方向越来越明确了
    思想上激进,行为上保守
    一种遗失了很久的感觉正在慢慢回归
    物极必反,滥用闭包的结果就是回归结构化编程
  • 原文地址:https://www.cnblogs.com/edoo/p/13540889.html
Copyright © 2020-2023  润新知