1.描述

在讲述报表设计之前,首先介绍一下FineReport报表制作的几个基本概念,本章节介绍FineReport报表赖以生存的单元格扩展。

扩展,顾名思义,就是由一变多,那么单元格扩展就是指在web端查看模板效果的时候,原来的单元格由一个变成了多个,这就是单元格扩展,如下图:

2. 单元格扩展

大家对Excel应该都不陌生,用过Excel的人都知道,其单元格只有2个方向,横向和纵向,而FineReport恰恰是一款类Excel的报表工具,其单元格也一样,因此,FineReport报表中单元格的扩展是有方向的,可纵向扩展,也可横向扩展,当然也可以不扩展。

2.1 纵向扩展

单元格中的数据依次从上至下的显示,即纵向扩展(行方向的扩展,一行变多行),如下图,在单元格中输入公式 =range(1,5),在右侧的单元格属性表-扩展属性中选择扩展方向为纵向:

2.2 横向扩展

单元格中的数据依次从左至右的显示,即横向扩展(列方向的扩展,一列变多列),如下图,在单元格中输入公式 =range(1,5),在右侧的单元格属性表-扩展属性中选择扩展方向为横向:

2.3 不扩展

单元格中的数据不扩展,如下图,在单元格中输入公式 =range(1,5),在右侧的单元格属性表-扩展属性中使用默认的扩展方向不扩展:

注:如果单元格中内容是公式则默认扩展方向为不扩展,如果是数据集中的数据列,则默认扩展方向为纵向扩展。

了解了单元格的扩展,单元格的扩展是针对具体的某一个单元格,当报表主体中绑定了多个单元格时,单元格与单元格之间是否存在联系,其扩展方向是否会相互影响呢?

如下图,在单元格中拖曳两个字段,在web端预览的时候,可以看到后面的单元格根据前面的单元格数据进行分组显示:

表明当报表主体中绑定了多个单元格的时候,单元格间会天然存在某种关系,使单元格间存在数据过滤关系,并且跟随扩展,这就是父子格,前面的单元格称之为父格,后面的单元格称之为子格,也就是说子格的数据会根据父格的数据进行过滤分组显示,并且还会跟随父格的扩展方向而扩展,下面我们来详细介绍一下父子格。

3. 父子格关系

子格的扩展属性会随着父格的扩展属性变化,当单元格左侧或上方相邻的单元格具有扩展属性时,单元格默认其左侧相邻单元格为其左父格,默认上方相邻的单元格为其上父格。

父子格关系包括两种:过滤关系和跟随关系。

3.1 过滤关系

过滤关系是指子格会默认将父格的数据作为过滤条件进行过滤,使父子格之间的数据能对应的显示出来,但是这个默认的过滤关系只限于两个单元格中的字段来自于同一个数据集,如上图,两个单元格中数据来自于同一个数据集,故华东地区单元格后面跟随华东地区的销售员,华北地区跟随华北地区的销售员,而不同数据集中的两个字段,子格会将跟随父格将所有数据重复显示,如下图,B2单元格相邻的单元格为A2,在其左侧,故A2为B2的左父格:

注:过滤关系除了可以通过父子格默认添加之外,还可手动添加,后面章节再详述。

3.2 跟随关系

跟随关系就是指子格会默认跟随父格的扩展方向进行分组,即父格纵向扩展,子格跟随父格默认纵向扩展,如上图,地区单元格A2纵向扩展,子格B2也纵向跟随扩展,父格横向扩展,子格会跟随父格横向扩展分组,同时保持自己的数据使用默认的纵向扩展,如下图,A3相邻单元格为A2,且在其上方,故A2是A3的上父格:

注:单元格中数据如果是数据集中的字段,不是公式,那么其默认扩展方向均为纵向扩展,但是会根据父格的不同而进行不同方向的分组。

4. 父子格分类

父子格包括左父格和上父格两种。

4.1左父格

左父格是指跟随父格单元格纵向扩展,即表示其父格是纵向扩展,一般来说,左父格均在单元格的左侧,单元格将其相邻的左侧纵向单元格默认为左父格,并且当鼠标选中子单元格时,左父格会显示一个蓝色向下的箭头,如下图:

4.2上父格

上父格是指跟随父格单元格横向扩展,即表示其父格是横向扩展,一般来说,上父格均在单元格的上方,单元格将其相邻的上方横向扩展单元格默认为上父格,并且当鼠标选中子单元格时,上父格会显示一个蓝色向右的箭头,如下图:

5. 父子格设置

父格的设置有3种:不设置,默认设置和自定义设置,如下图所示:

5.1无

无就是指该单元格没有父格,如下图:

5.2默认设置

默认就是指将数据列拖拽至单元格中时,该单元格会默认将其相邻上方横向扩展或者左侧纵向扩展的单元格当做上父格或者左父格。

注:必须是相邻的同行或者同列单元格,不是相邻的需要自定义设置。

另:其单元格的左侧相邻单元格不具有扩展属性时,会依次向左或向上寻找具有扩展属性的单元格,来确定它的父格。

5.3自定义设置

自定义设置就是指可以自己为指定单元格设置父格,可直接输入单元格或者快速选择,如下图所示:

本文首发CSDN:http://blog.csdn.net/szd_happy/article/details/75287265

FineReport单元格扩展与父子格设置的更多相关文章

  1. Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等

    目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...

  2. c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...

  3. 转:c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index  ...

  4. 【原创】Silverlight DataGrid对核心控件DataGrid的任意单元格进行获取和设置分析。

    前几天,公司同事有个需求需要对系统中的DataGrid控件的指定单元格(如图,申请人ID)进行禁用设置,尝试了很多次总是 整行整列的 禁用 没实现效果. 网上资料较少,没找到解决措施. 尽管silve ...

  5. aspxGridview 根据单元格值得不同,设置单元格字体的颜色(设置和读取值)

    protected void ASPxGridView1_HtmlRowCreated(object sender,DevExpress.Web.ASPxGridView.ASPxGridViewTa ...

  6. npoi的用法,动态的判断单元格的大小,设置列的宽度

    public MemoryStream GridToExcelByNPOI(DataTable dt, string strExcelFileName) { HSSFWorkbook wk = new ...

  7. 帆软报表(finereport)单元格函数,OP参数

    单元格模型:单元格数据和引用:数据类型.实际值与显示值.单元格支持的操作单元格样式:行高列宽.隐藏行列.自动换行.上下标.文字竖排.大文本字段分页时断开.标识说明.格式刷单元格Web属性:web显示. ...

  8. NPOI之Excel——合并单元格、设置样式、输入公式

    首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkboo ...

  9. C# 对Excel 单元格格式, 及行高、 列宽、 单元格边框线、 冻结设置

    一.对行高,列宽.单元格边框等的设置 这篇简短的文字对单元格的操作总结的比较全面,特此转载过来. private _Workbook _workBook = null; private Workshe ...

随机推荐

  1. 点评阿里JAVA手册之编程规约(OOP 规约 、集合处理 、并发处理 、其他)

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为三星(★★★) 本文为第二篇 第一篇 点评阿里JAVA手 ...

  2. FFmpeg安装(windows环境)

    ♣FFmpeg是什么? ♣FFmpeg组成 ♣下载工具 ♣安装FFmpeg ♣应用到j2ee项目 前言:学习视频编码,一定要知道雷霄骅(leixiaohua1020)的专栏 ,伟大的程序员,26岁去世 ...

  3. Redis 学习之简介及安装

    一.redis简介 Redis是一个开源的,先进的key-value存储.它通常被称为数据结构服务器,因为键可以包含字符串.哈希.链表.集合和有序集合. 支持的数据类型:string(字符串).lis ...

  4. iOS CAShapeLayer、CADisplayLink 实现波浪动画效果

    iOS CAShapeLayer.CADisplayLink 实现波浪动画效果 效果图 代码已上传 GitHub:https://github.com/Silence-GitHub/CoreAnima ...

  5. linux 系统备份日志

    题目: 备份日志 小明是一个服务器管理员,他需要每天备份论坛数据(这里我们用日志替代),备份当天的日志并删除之前的日志.而且备份之后文件名是年-月-日的格式.alternatives.log在/var ...

  6. [SDOI2010]所驼门王的宝藏

    题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族.被族人恭称为"先知"的Alpaca L. Sotomon是这个家族的领袖,外人也称其为"所驼门王". ...

  7. Linux系统/dev/mapper目录浅谈

    Linux系统的一般的文件系统名称类似于/dev/sda1或/dev/hda1,但是今天在进行系统维护的时候,利用df -h 命令敲出了/dev/mapper/VolGroup-lv_root和/de ...

  8. svn客户端的使用

    1 SVN概述 SVN客户端应用集成在右键菜单中: svn服务器有2种运行方式:独立服务器和借助apache运行.两种方式各有利弊,用户可以自行选择: SVN是Subversion的简称,是一个开放源 ...

  9. java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘

    15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; ...

  10. Linux下memcached安装与连接

    前几天技术总监要我在项目中加一个memcached,以前也从来没有配置过,所以就去网上找教程,最终折腾成功.比较坑的就是sasl协议那里. 由于memcached依赖libevents,所以要下载两个 ...