-
xxxl 数据领袖Lv6
发表于2020-11-5 17:50
楼主
本帖最后由 xxxl 于 2021-2-4 15:21 编辑
一、需求场景描述
针对不同的元素比如表格(包括表格中的某行某列或是单一表元)、统计图、参数组件等,需要设置计算时根据实际需求让元素隐藏、不打印可预览、不打印不可预览、不导出等。这些需求就需要用到属性中的显示属性了。
二、显示属性具体介绍
以一个表格为例,只需要选中该表格然后在右边的属性框中招到显示下拉框进行选择设置即可:
这些属性值的意义如下:
1.隐藏:仅仅在设计界面上可见,在计算后显示,打印,预览,导出的时候均不可见。
2.不打印可预览:在设计阶段,显示阶段,导出,预览均可见,但是在打印的时候隐藏。
3.不打印不预览:在设计阶段,显示阶段,导出均可见,但是在打印和打印预览的时候隐藏。
4.不导出:在设计阶段,显示阶段,打印和打印预览的时候均可见,仅仅不可导出。
以上只是列出了一些较常用的组合,还有一些用的比较少的情况在此处没有列出,但是也可以支持,这个时候就需要直接在下拉框中输入一个整型值来设置,其实这上面的每个组合 也是代表的一个整型值,这些整型值是如何确定的呢?每种状态是否可见都是用一个二进制的某一位来确定的
在我们的程序中定义如下:
例子一:
如果我们想要让一个元素在导出可见,在打印和打印预览的时候可见,计算后不显示的时候,那么就这样设置:不显示那么最低位就为0,打印预览则第二位为1,打印则第三位为1,导出则第四位为1,所以这个整型值用二进制表示就是1110,转换十进制后就是14。
实际上,如果不理解二进制的话可以直接将他们的值相加就行,上面所说十进制值相加应该为8+4+2+0=14。(可见则加,不可见则为0)
例子二:
我们需要一个元素在导出可见,打印预览不可见,打印不可见,计算后显示,对应的二进制为1001,转换十进制后为9,同时如果按值相加的话就应该为8+0+0+1=9。
不仅仅表头,包括表元,行列,背景图片等都支持设置它的显示属性,具体规则同上。
三、表达式设置
显示属性中不止只写单纯的整数控制,也可以通过写宏表达式做判断这更适合做更复杂的应用场景。
比如需要当某个表元为0的时候这一列不显示,就可以在显示属性中写宏表达式<#=if(GRID.A1=0,0,1)#>
这里写的宏表达式可以灵活多变支持多种函数。
补充例子:
需求当维下拉不选择的时候,根据当前表格行数做显示隐藏判断,当前行数小于等于5则正常隐藏否则显示。当维下拉选择数据后则直接显示数据。
这里可在行显示属性中设置<#=if(len(@p9374)=0,if(GRID1.C1<=5,1,0),1)#>
最后效果默认为空的时候显示前五个
然后可以根据维下拉多选选择任意
这里行号这一列作为辅助列可以选中设置隐藏
例子来源:https://bbs.esensoft.com/thread-137360-1-1.html
一、需求场景描述
针对不同的元素比如表格(包括表格中的某行某列或是单一表元)、统计图、参数组件等,需要设置计算时根据实际需求让元素隐藏、不打印可预览、不打印不可预览、不导出等。这些需求就需要用到属性中的显示属性了。
二、显示属性具体介绍
以一个表格为例,只需要选中该表格然后在右边的属性框中招到显示下拉框进行选择设置即可:
这些属性值的意义如下:
1.隐藏:仅仅在设计界面上可见,在计算后显示,打印,预览,导出的时候均不可见。
2.不打印可预览:在设计阶段,显示阶段,导出,预览均可见,但是在打印的时候隐藏。
3.不打印不预览:在设计阶段,显示阶段,导出均可见,但是在打印和打印预览的时候隐藏。
4.不导出:在设计阶段,显示阶段,打印和打印预览的时候均可见,仅仅不可导出。
以上只是列出了一些较常用的组合,还有一些用的比较少的情况在此处没有列出,但是也可以支持,这个时候就需要直接在下拉框中输入一个整型值来设置,其实这上面的每个组合 也是代表的一个整型值,这些整型值是如何确定的呢?每种状态是否可见都是用一个二进制的某一位来确定的
在我们的程序中定义如下:
属性 | 说明 | 整型值 |
html_View | 显示 | 1,即将设置的整型值转换为二进制值,最低位代表的就是是否显示 |
printView_View | 打印预览 | 2,即将设置的整型值转换为二进制值,从低位开始第二位代表的就是是否打印预览 |
print_View | 打印 | 4,即将设置的整形值转换为二进制值,从低位开始第三位代表的就是是否打印 |
export_View | 导出 | 8,即将设置的整形值转换为二进制值,从低位开始第四位代表的就是是否导出 |
例子一:
如果我们想要让一个元素在导出可见,在打印和打印预览的时候可见,计算后不显示的时候,那么就这样设置:不显示那么最低位就为0,打印预览则第二位为1,打印则第三位为1,导出则第四位为1,所以这个整型值用二进制表示就是1110,转换十进制后就是14。
实际上,如果不理解二进制的话可以直接将他们的值相加就行,上面所说十进制值相加应该为8+4+2+0=14。(可见则加,不可见则为0)
例子二:
我们需要一个元素在导出可见,打印预览不可见,打印不可见,计算后显示,对应的二进制为1001,转换十进制后为9,同时如果按值相加的话就应该为8+0+0+1=9。
不仅仅表头,包括表元,行列,背景图片等都支持设置它的显示属性,具体规则同上。
三、表达式设置
显示属性中不止只写单纯的整数控制,也可以通过写宏表达式做判断这更适合做更复杂的应用场景。
比如需要当某个表元为0的时候这一列不显示,就可以在显示属性中写宏表达式<#=if(GRID.A1=0,0,1)#>
这里写的宏表达式可以灵活多变支持多种函数。
补充例子:
需求当维下拉不选择的时候,根据当前表格行数做显示隐藏判断,当前行数小于等于5则正常隐藏否则显示。当维下拉选择数据后则直接显示数据。
这里可在行显示属性中设置<#=if(len(@p9374)=0,if(GRID1.C1<=5,1,0),1)#>
最后效果默认为空的时候显示前五个
然后可以根据维下拉多选选择任意
这里行号这一列作为辅助列可以选中设置隐藏
例子来源:https://bbs.esensoft.com/thread-137360-1-1.html