FineReport单元格扩展与父子格设置
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单元格扩展与父子格设置的更多相关文章
- Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等
目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...
- c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...
- 转:c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...
- 【原创】Silverlight DataGrid对核心控件DataGrid的任意单元格进行获取和设置分析。
前几天,公司同事有个需求需要对系统中的DataGrid控件的指定单元格(如图,申请人ID)进行禁用设置,尝试了很多次总是 整行整列的 禁用 没实现效果. 网上资料较少,没找到解决措施. 尽管silve ...
- aspxGridview 根据单元格值得不同,设置单元格字体的颜色(设置和读取值)
protected void ASPxGridView1_HtmlRowCreated(object sender,DevExpress.Web.ASPxGridView.ASPxGridViewTa ...
- npoi的用法,动态的判断单元格的大小,设置列的宽度
public MemoryStream GridToExcelByNPOI(DataTable dt, string strExcelFileName) { HSSFWorkbook wk = new ...
- 帆软报表(finereport)单元格函数,OP参数
单元格模型:单元格数据和引用:数据类型.实际值与显示值.单元格支持的操作单元格样式:行高列宽.隐藏行列.自动换行.上下标.文字竖排.大文本字段分页时断开.标识说明.格式刷单元格Web属性:web显示. ...
- NPOI之Excel——合并单元格、设置样式、输入公式
首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkboo ...
- C# 对Excel 单元格格式, 及行高、 列宽、 单元格边框线、 冻结设置
一.对行高,列宽.单元格边框等的设置 这篇简短的文字对单元格的操作总结的比较全面,特此转载过来. private _Workbook _workBook = null; private Workshe ...
随机推荐
- 【 js 基础 】【 源码学习 】源码设计 (持续更新)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析第二部分:undersc ...
- 简化布隆过滤器——BitMap
简化布隆过滤器--BitMap 前言 前段开发项目试就发现,一部分的代码实现存在着一些性能上的隐患.但当时忙于赶进度和由于卡发中的不稳定因素,想了许多解决方案也没有机会实施.最近,正好趁个机会进行一系 ...
- 关于redis内部的数据结构
最大感受,无论从设计还是源码,Redis都尽量做到简单,其中运用到的原理也通俗易懂.特别是源码,简洁易读,真正做到clean and clear, 这篇文章以unstable分支的源码为基准,先从大体 ...
- PHP漏洞之session会话劫持
本文主要介绍针对PHP网站Session劫持.session劫持是一种比较复杂的攻击方法.大部分互联网上的电脑多存在被攻击的危险.这是一种劫持tcp协议的方法,所以几乎所有的局域网,都存在被劫持可能. ...
- asp.net core 教程(六)-中间件
Asp.Net Core-中间件 在这一章,我们将了解如何设置中间件.中间件技术在 ASP.NET Core中控制我们的应用程序如何响应 HTTP 请求.它还可以控制应用程序的异常错误,这是一个在如何 ...
- elememtui(有关权限的那些事)
前言:关于权限路由的那些事儿…… 业务情景描述:现有一个后台管理系统,共存在三种类型的人员,①超级管理员(称作1):②组别管理员(2):③普通用户(3):每种类型的人看到的操作栏并不一样,可以进行的操 ...
- cp的用法
1.cp的功能 拷贝一个或多个文件(或目录)到目的地 2.例子 1)一次拷贝多个源文件到目的地#cp /mnt/hgfs/DOC/{1,2,3,4,5}.txt /root/ldj 2)只拷贝链接文件 ...
- Linq to List
var lstMater = lst.GroupBy(w => new { w.materialId, w.name, w.isPass, w.description }). Select(g ...
- 东北育才 DAY2组合数取mod (comb)
组合数取模(comb) [问题描述] 计算C(m,n)mod 9901的值 [输入格式] 从文件comb.in中输入数据. 输入的第一行包含两个整数,m和n [输出格式] 输出到文件comb.out中 ...
- Java代码实现 增删查 + 分页——实习第四天
今天项目内容已经开始了,并且已经完成好多基本操作,今天就开始总结今天学习到的内容,和我遇到的问题,以及分析这其中的原因. 内容模块: 1:Java代码实现对数据库的增删查: 2:分页且获取页面信息: ...