`

手动修改Cognos柱状图的提示

阅读更多
改变cognos的柱子、x轴提示:
1.先让X轴显示达到要求,因为它是一个图片,是Server返回来给web的,我们无法在生成图片后去修改
2.当X轴和柱子的显示、title提示均不一致时,做法有点特殊
a.先拖入组合数据项A_B_C,把文本来源改为数据项值,数据项值来源改为单一数据项A
b.让自定义标签显示,来源为数据项值,数据项值为组合数据项A_B_C
c.最终修改的结果是:
图表文本项:A ->A
图表标签:  A_B_C ->A_B_C

运行后,柱子上的提示是:A_B_C = A,  X轴提示是:A_B_C = A,X轴显示值是:A

3.接下来我们就要利用JS来遍历报表生成的<map><area ...><area ...></mpa>标示,手动修改area.title的值
来让柱子提示变为:
A文本 = A
B文本 = B
C文本 = C

X轴提示变为:
A文本 = A

<script type="text/javascript"> 
            var areas = document.getElementsByTagName("area"); 
            for (var i = 0; i < areas.length; i++) { 
					var area = areas[i]; 
					if (area.getAttribute("type") == 'chartElement') { 
						 var title = area.title; 
						 var s = title.split("\n"); 
						 var tempStr = s[0].split("=")[0].split("#"); 
						 if(tempStr[1] != "" ){ 
							 var starttimeStr = tempStr[0]; 
							 var objNameStr = tempStr[1]; 
							 var namecgiStr = tempStr[2]; 
							 var myTitleValue = "小区 = " + namecgiStr + "\n开始时间 = " + starttimeStr + "\n分析范围 = " + objNameStr; 
							 area.title = myTitleValue + "\n" + s[1]; 
						 } 
						else{ 
							var starttimeStr = tempStr[0]; 
							var namecgiStr = tempStr[2]; 
							var myTitleValue = "小区 = " + namecgiStr + "\n开始时间 = " + starttimeStr; 
							area.title = myTitleValue + "\n" + s[1]; 
						} 
					} 
				   else{ 
					 var title = area.title; 
					 var s = title.split("="); 
					 var myXTitle = "小区 = " + s[1]; 
					 area.title = myXTitle; 
				   } 
            } 
</script>
1
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics