更改表格样式

阅读(2546) 标签: 样式,

多维分析展现报表时一般都使用默认的表格样式。但遇到个性化报表展现时通常就难以满足需求了。为此,产品提供了对默认表格样式的修改,以及报表自定义模板两种方式。可以修改分析报表的默认展现样式,也可以针对个性定制报表设置独有的报表模板。

报表默认样式

多维分析报表中报表的默认样式如下图:

多维分析表格的样式实际上是通过一个模板报表来控制的,我们先来看下这个模板报表的内容,在设计器中打开[安装根目录]\report\web\webapps\demo\WEB-INF\files目录下的style.rpx

rpx文件即默认的模板报表,其中B2D2F2H2的单元格样式分别与多维分析报表中的标题、分组、指标1、指标2四个区域的样式一一对应。所以在style.rpx中设置以上几个单元格样式即可同步更改多维分析报表的样式。

下面我们修改下style.rpx单元格的样式,例如修改标题区与分组区的字体颜色,以及修改标题区、指标1与指标2区域的背景色:

此时报表预览如下:

多维分析表格样式的修改,其实也不止上面那一种方式,用户还可以通过修改js代码的方式,操作如下:

打开[安装根目录]\report\web\webapps\demo\raqsoft\guide\jsp\olap.jsp,添加如下代码:

<script>

//对不同种类报表单元格的显示属性设置

guideConf.style = [{"name":"标题","backColor":-1641217,"color":-16777216,"hAlign":-47},{"name":"分组","backColor":-1641217,"color":-16777216,"hAlign":-47},{"name":"指标1","backColor":-1,"color":-16777216,"hAlign":-48},{"name":"指标2","backColor":-853778,"color":-16777216,"hAlign":-48}];

</script>

报表自定义模板

使用报表自定义模板时,不仅可随意定义模板展现样式,还可在报表自定义模板中定义统计图,报表模板中统计图的设置和普通报表添加统计图设置一致。在分析控件的JS API设置rpxFolderOnServer属性后,报表分析界面添加预定义模板报表时,报表模板会自动显示在报表分析界面的关联数据右侧的下拉列表中,如下图:

注:

(1)报表模板文件缺省存放位置为:【安装根目录】\raqsoft\report\web\webapps\demo\WEB-INF\files\rpx

(2)问号图标的模板为测试模板,自定义的模板放到【安装根目录】\raqsoft\report\web\webapps\demo\WEB-INF\files\rpx后,在下拉中会以+模板文件名列出。

预定义模板报表制作:

报表模板的制作主要分为两步:

参数列表:

刚才我们看到的数据设置分析器界面中栏目框里的“分类”“系列值”其实就是取自报表模板中的参数名称

二、编辑单元格内容

单元格中以${参数名}的形式引用参数作为字段名,且报表模板中无需定义数据集,多维分析控件会根据用户在分析界面中选择的字段自动计算出一个数据集,在模板报表的单元格中,可以直接通过ds1来引用该数据集。报表模板的统计图设置同普通报表一样,可参考《教程》统计图章节学习统计图的制作。

预定义模板报表展现:

如上图所示预定义报表需添加参数作为查询数据集的字段名,参数名称会显示在关联数据左侧的描述框中。将右侧从查询结果界面获取的字段对应拖拽至左侧参数名对应的表达式框中则可按照所选的预定义模板生成报表。

统计图钻取:

使用统计图模板时,部分统计图支持钻取功能,即统计图超链接。使用统计图钻取功能,不需要重新制作另外一张报表,只需点击图形中的某区块就可看到该区块的详细数据,非常方便,快捷。

使用统计图钻取,只需在统计图报表的统计图属性-显示外观-图形超链接中使用drillSvg函数即可。

单系列时图形超链接表达式为:javascript:drillSvg('@category');

多系列时图形超链接表达式为:javascript:drillSvg('@category','@legend');

下图为使用单系列饼图模板制作的一个例子,点击图中的California对应的扇区,在弹出的窗口中显示的数据就是该州所有员工的详细数据。

目前支持钻取的统计图有:堆积条形图、饼形图、三维饼形图、折线图、柱形图、条形图、散列图、曲线图、条形图、三维簇状柱形图、三维簇状条形图、三维柱形图、三维堆积条形图、三维散点图、三维堆积柱形图、三维区域图、三维折线图和堆积柱形图等。点状图使用图形超链接时需标注数据点。