快逸报表柱形图和堆积图的单个柱体宽度是根据单元格的宽窄和图形的数量进行拉伸显示的,发布到web页面以后,如果根据参数模板查询出结果展现图形的话,会根据数据的不同,图像有宽有窄,显示的很不美观。本文就来介绍一下如何利用单元格的属性动态控制统计图图形效果。
思路分析:统计图的图形宽度是根据单元格宽窄和数据多少进行改变的,数据量的多少不能硬性规定,所以需要设置单元格宽窄来解决问题。
第一步:展现未经改动的报表统计图效果
打开快逸报表中基础统计图/堆积柱形图.raq这张报表,先为该表添加一个参数模板命名为:堆积柱形图_arg.raq如下图,为该模板添加一个数据集ds1,sql语句为:SELECT TITLE.TITLENAME FROM TITLE,然后在C2单元格中设置编辑风格为下拉数据集,并勾选”允许多选”,变量名设为base。
在堆积柱形图.raq报表中选择配置-参数,添加一个参数,参数名为base,参数类型为字符串组。修改数据集,在数据集添加查询过滤条件的sql语句,结果为:SELECT EMPLOYEE.EMPID,DEGREE.NAME,TITLE.TITLENAME FROM EMPLOYEE,DEGREE,TITLE WHERE TITLE.ID = EMPLOYEE.TITLE and EMPLOYEE.DEGREE = DEGREE.ID and TITLE.TITLENAME in (?),在数据集中添加一个参数,参数名称为base,参数类型同样为字符串组。
先来展现下默认情况的统计图效果:
下图为只选择两条数据时的效果:
由以上两图效果对比可见,统计图的图形明显变粗了。
第二步:修改报表使统计图效果一致
修改报表如下图:A1B1C1单元格为报表表头,A2B2单元格为报表数据的分组函数,C2单元格使用count函数对数据进行统计,A4单元格为统计图,在第四行后添加一行空白行,在A5单元格加入=count(A2{})的表达式,这里A5就计算出了需要展现的列数。选中ABC三列,在列属性-宽度的表达式中加入A5*10+20。这里的表达式需要自行调试,因为根据数据的不同需要的列宽也不一样,需要用户自行设置以一些常量通过四则运算来达到最合适的效果。比如当一列数据时,表达式的值等于1*10+20=30,两列值等于40,三列值等于50,以此类推,达到每增加一个统计图图柱列宽变化的大小都与图形成正比的增长。
再来看下修改后两条数据的效果图,统计图图柱明显根据数据量的多少调整了:
这样就可以实现根据数列的多少来动态增减列宽,从而达到统计图图形美观的效果。此方法同样适用于横向的统计图,如堆积条形图等。只需把列宽的设定改成对行高的设定。
原文链接:利用单元格属性动态控制统计图的宽度
分享到:
相关推荐
设计具有多层表头的cxGrid,可以利用`BandedView`和`Columns`的`Bands`属性,通过添加多个`Band`并设置它们的标题和宽度来实现。 #### 17. 主从表聚焦 在主从表结构中,点击主表的展开图标时聚焦到主表记录,可通过...
2. **边框与间距**:通过`border`属性可以设定表格、行或单元格的边框样式、宽度和颜色。`border-collapse`属性决定是否合并相邻边框,以创建更简洁或更传统的外观。`cellspacing`和`cellpadding`属性在HTML中也能...
在这个特定的例子中,描述提到利用HTML的TABLE来绘制统计图。这种方法虽然相对原始,但在某些情况下仍然有效,尤其是在不支持更现代的图表库或者对浏览器兼容性有特殊要求时。 HTML TABLE常用于模拟图表的布局,...
6. **利用类选择器和ID**:为了更精确地控制样式,可以为特定的行、列或单元格分配类或ID。例如,给表头行添加`class="header"`,然后在CSS中定义相应的样式。 结合提供的文件名,我们可以看到`1329ZK01.htm`可能是...
同时,`border-collapse`属性可以控制单元格之间的边框合并,`cellspacing`和`cellpadding`属性可以设置单元格内外间距。 3. **背景色与文本样式**:通过`background-color`属性为单元格或整个表格添加背景色,`...
- 详细介绍C1FlexGrid控件提供的各种属性组,帮助开发者更好地理解和利用这些属性。 #### 四、数据绑定 **4.1 绑定到数据源** - **数据源绑定**: - 讲解如何将C1FlexGrid控件绑定到不同的数据源,并提供示例...
- **根据不同状态在数据单元格中显示相应图片**:可以利用`DBGridEh.OnDrawColumnCell`事件,在不同的数据状态下显示不同的图片。 - **自动显示标题行的升降排序标志符**:当启用自动排序功能时,标题栏会自动显示...
- **属性**:描述对象特征的信息,如高度(Height)、宽度(Width)等。 - **方法**:对象可以执行的操作,如复制(Copy)、粘贴(Paste)等。 #### 二、实现步骤详解 1. **初始化与错误处理**: - 使用`On ...
A: 利用"替换〞命令 B: 利用"更改大小写〞命令 C: 利用"自动更正〞命令 D: 利用"自动图文集〞命令 5(4分) : 以下存储设备中___是外存储器。 A: ROM B: 硬盘 C: RAM D: 软盘 判断题 1(4分) : 计算机只可以处理数字...
1. `ColumnWidth`:控制各列的宽度,可以是百分比或绝对像素值。 2. `ColumnEditable`:定义哪些列可编辑,可以是逻辑数组,`true`表示可编辑,`false`表示不可编辑。 3. `CellSelectionCallback`:定义当单元格被...
- 修改图形属性,如线条颜色、宽度和背景颜色。 - **图形定制与美化**: - **隐藏网格线**: - 右键单击坐标轴,取消勾选“隐藏网格”选项。 - **更改线条颜色与宽度**: - 使用样式工具栏中的按钮调整线条颜色和...
- 自动填充功能可以确保表格的宽度充分利用窗口空间。 20. **从注册表或ini文件中保存或恢复网格和列的层次** - 可以将表格的配置信息保存在注册表或ini文件中,方便以后恢复使用。 #### 二、应用实例 - **编辑...
- **调整边框宽度**:使用“表格”菜单中的“属性”选项,可以调整表格边框的宽度和颜色。 - **设置单元格间距与填充**:同样在“表格”菜单中的“属性”选项中设置单元格间的间距和填充距离。 #### 五、超链接制作...
- **CountIf和SumIf函数**:基于特定条件统计单元格数量或求和。 - **Lookup函数**:查找并返回匹配项的值。 - **随机数函数**:如RAND()生成随机数。 - **通过NPOI获得公式的返回值**:使用`HSSFCell....
20. **通过设置数据单元格的 hint 和 ToolTips 属性,当移动鼠标到该单元格时,可以显示单元格容纳不下的文本内容**:增加信息展示的灵活性。 21. **将组件中数据导入/导出到 Text, Csv, HTML, RTF, XLS 和内部数据...
通过`CssClass`属性设置通用样式,或者通过`.RowStyle`, `HeaderStyle`, `FooterStyle`, `AlternatingRowStyle`等属性针对特定行或单元格设置样式。 - **边框和表格样式**:使用`BorderWidth`, `BorderColor`, `...
- **CountIf和SumIf函数**:按条件统计单元格数量或求和。 - **Lookup函数**:在数据区域查找匹配项并返回相应值。 - **随机数函数**:如RAND,生成随机数。 - **通过NPOI获得公式的返回值**:可以获取公式计算...
栅格数据是一种地理数据结构,由一系列按网格排列的像素或单元格组成,每个单元格都有一个数值,代表特定的地表属性,如地形高度、温度或土地覆盖类型。在SuperMap iObject .Net中,栅格数据可以通过`IRasterLayer`...
2. **变量窗口**:管理变量的属性,如变量名、类型、宽度、小数位数、标签、值标签和缺失值设置等。 3. **结果输出窗口**:显示分析结果,包含导航窗口和显示窗口,便于用户浏览和查找分析结果。 4. **图表编辑...
2. **边框属性设置**:学习如何修改表格控件的“边框样式”、“边框宽度”和“边框颜色”等属性,以改变表格的默认边框。 3. **绘图命令**:深入理解易语言的绘图命令,如“画线”、“画矩形”等,用于自定义绘制...