属性分为单元格属性、行属性、列属性三大类。 选中单元格时右侧属性为单元格属性;选中行时右侧属性为行属性和单元格属性;选中列时右侧属性为列属性和单元格属性。 每一项具体的属性包括属性名称、值、表达式。如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_e732bd99927e251bca83caca4235db36_r.png) 如果制作报表时想隐藏右侧属性,可以通过属性左侧的“收回展开”三角按钮进行收回: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_1fbf68385c358db875cf2328fb198571_r.png) 如果想再次展开已隐藏的右侧属性,可以通过再次点击刚刚的“收回展开”三角按钮进行展开: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_ef887f5b60c9934005c3be8111c1a255_r.png) # 行属性 本菜单项的功能是用于设置表格里每一行的属性。 选中需要设置行属性的行,在右侧属性列表点击行属性,将显示行属性对话框,如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_b7ff232dd37633411fd30ed9af8bda96_r.png) 可在该对话框中设置指定行的行类型、组头级别、是否可见、行高、分页填充、是否行后分页属性。 ## 行类型 行类型:用于标识当前行属于报表哪个区域。 - 分页页眉区 分页页眉区位于页面的最上面,仅仅在打印和打印预览的时候出现,可选择每页打印还是仅首页打印,一般用于放置与页面有关的信息。 - 头标题区 头标题区用于放置报表标题,以及一些报表抬头要显示的信息,例如:打印日期、报表单位、金额单位等。可选择每页打印还是仅首页打印。 - 报表头区 报表头区一般用于放置报表数据列的列名称,可选择每页打印还是仅首页打印,分栏时每栏重复与否。 - 分组表头区 分组表头区分页的时候每页重复,分栏时每栏不重复。按行数分页时,所指定的行数为分组表头区和数据区行数之和。 - 数据区 数据区一般放置报表从数据集中取到的数据。 - 报表尾区 表尾区一般用于放置报表的一些汇总统计信息,以及常在报表表尾显示的一些信息。可选择每页打印还是仅末页打印,分栏时每栏重复。 - 尾标题区 尾标题区用于放置报表尾标题,以及一些报表结尾要显示的注脚信息。可选择每页打印还是仅首页打印。 - 分页页脚区 分页页脚区位于页面的最下面,仅仅在打印和打印预览的时候出现,可选择每页打印还是仅首页打印,一般用于放置和页面有关的信息。 行类型需要按照一定的规则设置,若顺序有错误,保存报表的时候会提示错误。行类型规则如下: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_56e30fe6a79293d21d6b253d5e8a6cb5_r.png) - 纵向分区从上到下的顺序为:分页页眉区——〉头标题区——〉报表头区——〉分组表头区——〉数据区——〉报表尾区——〉尾标题区——〉分页页脚区。 - 区域顺序从上到下不可颠倒。 - 除了数据区,其它区域可以不存在。 - 合并单元格不可跨越区域,否则分页时会出现混乱。 ## 组头级别 “组头级别”用来设置多层分组的组表头级别。分组表头可以分为一级分组表头和多级分组表头。一级分组表头可以包含多行,每一行的组头级别递增。多级分组表头每一级只能包含一行,每一级的组头级别递增。 ## 可视 用于设置本行在报表展现时是否显示。 ## 高度 用于设置本行行高,以像素为单位。 ## 分页填充 ## 行后分页 当前行是否行后分页,可以是属性值也可以是表达式。该属性可设置在一般单元格,也可设置在行首格中。 强制分页,我们可以通过设置按数据行分页的报表分页方式,然后设置每页显示数据行数来实现。但有的时候我们并不固定每页的显示数据行数,只想设定其中某一行或某几行的行后分页,这时利用行后分页就可以达成这个目的。 行后分页可以设在一般单元格,也可以设在行首格。 如果设置在行首格,而且该行是可以扩展的,则该属性会复制到该行扩展出来的所有单元格中。 举例: 在A1单元格中编辑=to(1,10),并在该单元格“行后分页”的表达式中编辑 if(A1= =5,true,false):当当前单元格的数据值为5时,行后分页。打印预览发现数据值为6的那一行在下一页了。 # 列属性 本菜单项的功能是用于设置表格里每一列的属性。 选中需要设置列属性的列,在右边的列属性中可以设置该列的属性,如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_7c43d57fb21034ad93ba1ba9ab0424bd_r.png) 可在该对话框中设置指定列的列类型、是否可见、列宽、列后分页的属性。 ## 列类型 列类型是用于标识当前列属于报表哪个区域。 - 左表头列/右表头列 表头列一般用来放置报表数据列的列名称。当报表宽度比纸张显示区域宽时需要设置表头列,分页时表头列可选择每页打印还是仅首页打印。如果选择仅首页打印,则左表头列仅首页打印,右表头仅在最后一页打印。 - 常规列 常规列一般放置报表从数据集中取到的数据。 同行类型类似,列类型的设置也需要按照一定的规则,设置规则如下: - 横向分区从左到右的顺序为:左表头列——〉常规列——〉右表头列。 - 区域顺序从左到右不可颠倒。 - 表头列可以不存在。 - 合并单元格不能跨越区域,否则分页时会出现混乱。 ## 可视 用于设置本列是否显示。 ## 宽度 设置本列列宽,以像素为单位。 ## 列后分页 当前列是否列后分页,可以是属性值也可以是表达式。该属性可设置在一般单元格,也可设置在列首格中。规则与“行后分页”相同。 # 单元格属性 ## 值 值属性的具体属性包括值、显示格式、显示值如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_c829941d8d0fd7be0ed5809ab5abb168_r.png) ### 值 单元格属性列表中第一项就是值。值是单元格的真实值,当单元格被引用时,引用的就是单元格的真实值 举例:表达式A1+B1,其运算结果就是A1单元格的值加上B1单元格的值。 ### 显示格式 用来设置值在报表展现时的显示格式。双击显示格式输入框会弹出显示格式设置窗口,如下图。也可以直接在输入框内输入显示格式。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_85d6f96509b8ca356e8cb45c8f444a07_r.png) 举例:如果该单元格的值是一个数值型的数据12.34567,我们希望显示的时候只显示小数点后两位小数,通过显示格式完成的,可以在显示格式属性值中编辑#0.00(可通过示例查看展现格式),预览可以发现,显示的数值就变成了12.34。也可以双击显示格式属性值,在弹出的显示格式对话框中选择你需要的格式,确定即可。 ### 显示值 显示值是在报表展现时所显示的内容,仅仅用来显示,很少被引用,如果要引用单元格的显示值,需要用disp函数,例如:disp(A1) 代表A1单元格的显示值。 通常我们在数据表里取出的某个字段的值是一个代号,但我们展现出来的报表,并不希望显示代号,希望显示的是每个代号代表的具体值,这时就要用到显示值的属性。 点击表达式栏的fx按钮,进入表达式编辑页面设置显示值表达式。 举例: 1.例如:"中国",那么该单元格就显示为"中国" 2.例如:ds1.select1(name, id = = value()),这样根据当前单元格中的值从数据集ds1中找到与之相等的id,根据id,显示对应name字段的值。 3.map(list("0","1"),list("男","女")),这样如果单元格中的数据值为0,则报表展现时,该单元格显示的就是男。同理,如果是1,则显示的是女。 ## 显示 显示属性包括可视、隐藏行、隐藏列、前景色、背景色。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_26370f4d0723fc7d919403a076d76838_r.png) ### 可视 设置当前单元格是否可见,该属性值为true代表可见,false代表不可见。 该属性可以是属性值也可以是表达式。若为属性值,勾选代表可视,不勾选即为不可视。若为表达式,表达式式返回结果为true代表可见,false代表不可见。 很多时候,我们需要设定在满足某一条件时显示,不满足某一条件时不显示。这时,可在表达式中编辑条件表达式。 表达式举例: if(@arg1=="jili",true,false) 当参数arg1为jili时,当前可见,否则不可见 ### 隐藏行 当前行是否隐藏,可以是属性值也可以是表达式.实现隐藏本行效果,可通过“隐藏行”属性和行首格的“可视”属性实现。 如果在行首格设置“隐藏行“属性,该属性会复制到该行的所有单元格的“隐藏行“属性里。 举例: 在A1单元格中编辑=to(1,10),希望当当前单元格的数据值为5时,隐藏该行,则应该在该单元格“是否隐藏本行”,或者在行首格“隐藏行”属性表达式中编辑if(A1==5,true,false)。预览发现数据值为5的那一行隐藏了。 如果希望某一行里任何一个单元格里的值为负数时,该行就隐藏,则在该行行首格“隐藏行”属性表达式中编辑if(value() < 0,true,false),该属性表达式会复制到该行扩展出来的所有单元格中。 >注意:在分栏报表中不允许存在隐藏行。 ### 隐藏列 当前列是否隐藏,可以是属性值也可以是表达式 实现隐藏本列效果可设在一般单元格中,也可以设在列首格中,至于什么情况设在一般单元格,什么情况设在列首格,规则与“隐藏行”相同,可参考前面所述。 ### 前景色 单元格里文本的颜色。 举例:如下图(左边的为默认的前景色<黑色>,右边的设置前景色为红色) ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_b963e5e33e7a6f0dde9c20227162e32f_r.png) ### 背景色 单元格的背景色。 举例:如下图(左边的为默认的背景色<白色>,右边的设置背景色为红色。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_60643cb13120458e99935ff612d8d572_r.png) ## 段落 段落属性包括自动换行、尺寸调整方式、水平对齐、纵向对齐、缩进。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_840ff022b6ae53974898688dc3c83606_r.png) ### 自动换行 设置当前单元格的数据值长度超出单元格的宽度时,是否自动换行。 此属性一般适用于中文值字段,如果此属性打勾,当数据值长度超出单元格的宽度时,文字会自动换行。 ### 尺寸调整方式 有四个选项:设计尺寸不变/按单元格内容扩大/图片填满单元格/缩小字体填充。 1.如果设置为“设计尺寸不变”,那么当该单元格里的数据超过单元格宽度的时候,只显示宽度范围内的数据。 2.如果设置为“按单元格内容扩大”,那么当该单元格里的数据超过单元格宽度的时候,单元格宽度可根据其数据内容调整。子报表或者图片单元格,也可以通过上面两个属性把子报表或者图片缩在单元格内,或者把单元格撑大。 3.如果设置为“图片填满单元格“,图片根据单元格的大小缩放图片,以保证图片填满单元格。 注意:在word表格中的文字如果显示不下,会自行撑大单元格。在这个时候,单元格尺寸已经不是正规尺寸了,所以在导出的word文档中会出现“图片为填满单元格”现象。如果想在word中正常显示,在制表时必须要考虑到在word中的显示问题,把字号改小或者是把行高设计得大一些。 4.如果设置为“缩小字体填充“,那么当该单元格里的数据超过单元格宽度的时候,这个时候又不希望单元格被撑大,可以设置该属性,将字体缩小填充在单元格中。 该属性经常与自动换行结合使用。 举例:B2单元格中有这样一串文字。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_60e556ec32aa9d46b2ad5c51147b1458_r.png) 如果设置自动换行+按设计器尺寸不变,单元格里的数据会折成多行,但是单元格的高度不变,如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_4d4882072f34992b92d7941aff9fc222_r.png) 如果设置自动换行+按单元格内容扩大,单元格里的数据会折成多行显示,并且单元格会被撑高,如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_481481bade488e51e008ef0c197a583f_r.png) 如果设置自动换行+缩小字体填充,单元格里的数据在缩小字体的同时,并折成多行显示。这样配合使用可避免单元格里的数据在一行里显示而将字体缩小的过于小,如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_cafe6fcd10323859999b63a524d61d71_r.png) ### 水平对齐 设置单元格数据在水平方向上的对齐方式:靠左、靠右、居中。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_173254eb7f31549a6b3221ab990c3b48_r.png) ### 纵向对齐 设置单元格数据在垂直方向上的对齐方式:靠上、靠下、居中。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_68e90091787d7e4bc4f5b8534508eba2_r.png) ### 缩进 单元格数据值的缩进位置,缺省为0,此时数据值会紧挨着边框。 一旦为单元格设置了缩进属性,则文字在单元格里会相对左或相对右或者相对左右缩进。如果水平对齐方式为左对齐,则相对左边缩进;如果水平对齐方式为中对齐,则相对左右两边缩进;如果水平对齐方式为右对齐,则相对右边缩进。 举例:如下图(左边的缩进为0,右边的缩进为5) ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_660c71065add4e9e1e97eb7ddf1eeb99_r.png) ## 字体 字体属性包括:字体、字体大小、加粗、斜体、下划线。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_b415cd98e27fc0486d2bf43eeb5e7a33_r.png) ### 字体 单元格的值/显示值的字体。 如果服务器操作系统是linux、unix等非windows操作系统时,需要注意凡被使用到的字体,都必须在操作系统里安装,否则当报表打印、输出到pdf、统计图等时,会乱码或者变成小方框。一般要求安装相应的中文包,然后再安装jdk。如果已经安装了jdk,补救办法就是拷贝字体。 拷贝字体的方法:把windows操作系统下,…\WINDOWS\Fonts目录下的所有字体文件拷贝到服务器的jdk安装目录下的…\jre\lib\fonts子目录下即可。某些操作系统下如果这样拷贝结果仍是乱码,则需要打开…\jre\lib\font.properties(把 fontconfig.properties.src文件改名为fontconfig.properties)文件进行修改。 例如,我们想选择微软雅黑字体(msyh.ttf),需在文件的# Font File Names 段添加: filename.-microsoft-microsoft_yahei-medium-r-normal--*-%d-*-*-p-*-gb18030.2000-0=/usr/share/fonts/yahei/msyh.ttf,然后我们就可以在字体配置文件中使用这个名字了。 接下来,在# Component Font Mappings 段中,将包含chinese的中文字体都改为雅黑的名字,并且将程序中用到的逻辑字体的中文字符子集映射为雅黑。 ### 字大小 单元格的值/显示值的字大小。 举例:如下图(左边的为小四,右边的为二号字) ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_64c57ded1cc31b649fa4233c4419602f_r.png) ### 加粗 单元格数据是否显示为粗体。 举例:如下图(左边的为设置粗体前,右边的为设置粗体后) ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_7bc7ae9feabfda8cef3c2c5c1be410b5_r.png) ### 斜体 单元格数据是否显示为斜体。 举例:如下图(左边的为设置斜体前,右边的为设置斜体后) ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_26bcc3dca2e942d02791f613d67d286e_r.png) ### 下划线 单元格数据是否带下划线。 举例:如下图(左边的为不带下划线,右边的为带下划线) ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_e422ad05d71bd788eb3e4cae057c47fa_r.png) ## 扩展 扩展包括扩展方式、左主格、上主格。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_4616b309c55327a489af19bbeea01d19_r.png) 运算结果为集合的函数,我们称为集合函数。计算结果为单值的表达式称为单值表达式。当单元格的数据值表达式为集合表达式时,该单元格默认为可扩展单元格。否则该单元格默认为不可扩展。 用户在不熟悉扩展与主格概念与规则时,可以通过工具栏上的扩展按钮打开扩展向导,跟随向导来完成扩展与主格属性的设置。 ### 扩展方式 单元格的扩展方式属性分为默认、横向扩展、纵向扩展、不可扩展四种。 关于扩展方式的详细介绍,请参考[单元格扩展](http://geeznros.oicp.net:8181/api/sjjc/edit/#65d3ng "单元格扩展") ### 左主格 单元格进行纵向扩展时,我们又称其为其右边格子的左主格。左主格属性可以默认缺省,也可以人为的改变。 主格的设置,可以直接在输入框中输入,也可以双击输入框之后选择主格所在单元格,系统会自动在输入框中生成对应主格。 关于主格的详细介绍,请参考[父子格设置](http://geeznros.oicp.net:8181/api/sjjc/edit/#65d3ng "父子格设置") ### 上主格 单元格进行横向扩展时,我们又称其为其下边格子的上主格。 关于主格的详细介绍,请参考[父子格设置](http://geeznros.oicp.net:8181/api/sjjc/edit/#65d3ng "父子格设置") ## 超链接 超链接包括超链接和超链接窗口属性,超链接属性的设置也可以通过菜单工具栏的插入-超链接来完成。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_5d40e881757304d7bbd37a4dce6f366d_r.png) ### 超链接 单元格的超链接属性,可以是属性值,也可以是表达式。可以在超链接中引用单元格的值,例如: "/defaultArg.jsp?report=/exercise/grid&customerid="+A6 如果超链接字符串不需要动态生成,可以直接写所要链接的页面路径,那么可以直接在超链接属性编辑框中编辑;如果超链接字符串需要根据单元格或者参数值动态生成,则输入表达式。 路径可以是相对路径也可以是绝对路径。 相对路径是相对应用路径的,比如:/jsp/myreport.jsp,系统运算后会自动给加上应用的路径。 绝对路径一定要写完整,包含传输协议。 比如:http://www.runqian.com.cn,不可只写:www.runqian.com.cn 通过超链接属性表达式链接到报表的格式为:"/mis2/vrsr/showReport1.jsp?raq=/flexdesigner/reportFiles/12002.raq&cs="+encode(A1)+"&encodeParamName=cs" 。其中showReport1.jsp为通用的报表展现JSP,报表路径相对于/mis2/reportcenter/res,其中传递参数的值为单元格A1加密后的值,加密后再通过encodeParamName为参数cs进行解密。 ### 超链接窗口 超链接在网页上显示的目标窗口,分为本页刷新、弹出新页面和弹出层三种。 特别地,如果弹出层,还可以进一步设置窗口标题、窗口宽度、窗口高度以及关闭时是否刷新主页面。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_658e6f73e9447502f961ef4b45510004_r.png) ## 分页 分页属性包括分页时伸缩、行后分页、列后分页、单元格拆分属性。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_a6c89af1115e2cebaa5af3325c58169a_r.png) ### 分页时伸缩 该属性适用于除报表头、分组表头、数据区和表尾区以外的区域。 ### 行后分页 当前行是否行后分页,可以是属性值也可以是表达式。该属性可设置在一般单元格,也可设置在行首格中。 强制分页,我们可以通过设置按数据行分页的报表分页方式,然后设置每页显示数据行数来实现。但有的时候我们并不固定每页的显示数据行数,只想设定其中某一行或某几行的行后分页,这时利用行后分页就可以达成这个目的。 行后分页可以设在一般单元格,也可以设在行首格。 如果设置在行首格,而且该行是可以扩展的,则该属性会复制到该行扩展出来的所有单元格中。 举例: 在A1单元格中编辑=to(1,10),并在该单元格“行后分页”的表达式中编辑 if(A1= =5,true,false):当单元格的数据值为5时,行后分页。打印预览发现数据值为6的那一行在下一页了。 ### 列后分页 当前列是否列后分页,可以是属性值也可以是表达式。该属性可设置在一般单元格,也可设置在列首格中。规则与“行后分页”相同。 ### 单元格拆分 该属性主要是为合并格服务的,当分页断开正好位于合并格的中间时,合并格里的值是否拆分后在两页里显示。 举例:如下图: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_a24f3f48829e9090d2237711bcd879e1_r.png) 分页断开位于合并格中间。 如果设置该属性,该合并单元格里的文字被拆成两部分,分别在两页里显示。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_c1b9b4bc9c744be23ca74f5ec817dfe8_r.png) 如果未设置该属性,两页里都是重复显示断开前的文字。 ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_a6e2452431b529b16ccf03be640bda5f_r.png) ## WEB WEB属性包括变量名、HTML事件、提示,如下图所示: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_72567d75a8ba5529dddcb940028410f4_r.png) ### 变量名 1.在html网页上引用该单元格的数据值时使用的变量名。 举例:在JSP文件中有两种使用方法(假如变量名为myVar): (1)在JSP代码中引用: <% String myVar = request.getAttribute( "myVar" ); %> (2)使用tag标签引用: 两种引用方式均需在报表标签之后方可有效。 2.参数模板中根据这个名字和目标报表中的参数名对应起来,进行数据的查询。 ### HTML事件 在web端发布报表时,可以根据单元格的HTML事件来执行相应的操作,例如鼠标移入、点击、移除时执行某些操作。表达式遵从javascript语法规则,可以调用javascript函数。 ### 提示 当在web上发布报表时,希望鼠标移动到某位置时,显示一些提示信息,就可以设置该属性。 举例: 某一单元格“提示”属性值编辑为“这就是WEB中的提示信息“。 这样,该报表在网页中展现的时候,当鼠标移动到超链接的位置上时,鼠标箭头变成手形,手形鼠标旁会出现刚刚编辑的提示信息,如下图所示效果: ![](/uploads/projects/7.11_online/uploads/sjjc/images/m_4634db8b844f70ed202a4593d6d5659f_r.png)