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
相关推荐
表明当报表主体中绑定了多个单元格的时候,单元格间会天然存在某种关系,使单元格间存在数据过滤关系,并且跟随扩展,这就是父子格,前面的单元格称之为父格,后面的单元格称之为子格,也就是说子格的数据会根据父格...
finereport9.0的二次开发小功能:类似tooltip功能,鼠标一悬停单元格就显示 图片,移开就 没了,可控制哪个单元格显示.分享.cpt模板文件。本想免费的,csdn必须得要设置1分,纯属分享。。。
A1单元格设置下拉框控件,B1单元格设置按钮控件,下拉框控件是向下扩展的,模板设计如下图所示: 给B1单元格按钮控件添加一个JS点击事件: js代码如下: var location = this.options.location; //获取当前控
最后,在实际使用FineReport报表工具进行数据形态设置的过程中,用户还需要关注工具的界面提示和操作指引,以确保数据字典和公式形态的正确应用。此外,在文档中提到的OCR扫描出的文档可能存在的识别错误,需要用户...
如下图所示报表,科目名称栏目里面的数据不是从数据库中拖曳扩展得来的,而是直接在单元格中输入,需要将每个科目的期初余额和期末余额填报入库,数据库中有科目ID、会计科目、期初余额和期末余额几个字段,在填报时...
在实际操作中,用户应当充分利用这些工具和选项,比如参数控件的居中设置、报表内容的居中与自适应宽度调整以及图表的居中设置等,来提升报表的专业性和观赏性,进一步提高工作效率和报表的可读性。对于FineReport的...
### 报表工具FineReport正则表达式定义规则 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,在多种编程语言中都有应用,它可以帮助我们完成字符串搜索、替换等一系列复杂的文本处理任务。在报表...
通过设置数据集参数,我们可以将用户的选择(比如需要显示的列)作为输入,动态地调整数据集的查询语句。在“实现动态列sql.txt”文件中,应该包含了根据参数构建SQL查询的逻辑。通常,这会涉及到字符串拼接或者使用...
10. **交互与联动**:FineReport的交互性是其一大亮点,如单元格间的数据联动、图表与表格的交互等。学习如何实现这些功能,可以提高报表的用户体验。 总的来说,这个压缩包提供的答案涵盖了FineReport从基础到进阶...
9. **API与插件开发**:对于开发者,FineReport提供了API接口和插件开发框架,允许自定义功能扩展。这部分内容将引导用户进行二次开发,提升报表系统的灵活性。 10. **问题解决与技巧**:文档最后通常会包含一个...
通常情况下,当在FineReport报表中对单元格进行操作后,比如输入数据,再使用JavaScript获取该单元格的值,可能会发现得到的是旧值或者“控制值”。这是因为报表控件可能并未立即刷新该单元格的内容。为了能够获取到...
FineReport的特点在于其易用性和高效的报表设计方案,它采用了数据双向扩展、真正的无编码形式设计报表,用户不需要掌握复杂的编程技能即可设计出符合业务逻辑的报表,从而满足报表使用者的需求。此外,FineReport还...
同时,通过实际操作,用户可以学习如何设置单元格样式、行列联动、数据计算和过滤等高级技巧。 “制作图表”的部分是FineReport的一大亮点。FineReport提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图等,...
同时,FineReport具备良好的扩展性和灵活性,能够满足不同规模企业的定制需求。 二、FineReport核心功能 1. 报表设计:FineReport提供了丰富的图表类型,如柱状图、饼图、线图等,以及各种表格样式,用户可以通过...
FineReport功能说明:、 多 sheet 报表设计:支持在设计器中创建多 Sheet 报表,导入导出多Sheet 的 Excel文件。 2、 多报表运行环境:能在多个报表运行环境中切换设计报表。 3、 多数据源关联:同一张报表可以从...
此外,还可以设置某些单元格为不扩展状态,以进行汇总操作。 5. **设置数据类型** - 支持数据分组或数据列表两种显示方式。数据分组可以将相同的数据合并显示,而数据列表则会将所有数据逐一列出。 6. **设置单元格...
FineReport设计器有自动的消息推送功能,可设置报表定时推送和常规的日报周报推送。官方有自己的消息推送的接口,不过有些用户旺旺希望自己开发,符合自己需求的推送界面。 下面这个方案就从逻辑层面简单阐述一个...