您的位置:首页 > 其它

关于FusionChartsFree y轴不显示中文 的解决办法

2011-08-05 18:07 218 查看
 

关于FusionChartsFree y轴不显示中文 的解决办法

                                                                           ---首先说明,小辈这是第一次写blog,下面的文章可能写的不是很好,希望前辈们多多指教!

在网上搜了很多关于“FusionChartsFree y轴不显示中文”的问题,但是我得到的答案还是不尽满意,具体的答案如下:

 

1.         Free版本是一个不稳定版本,所以效果是这样,不足为奇。

2.         设置xml中的属性rotateYAxisName="0"(将y轴的字全部横着放),但是咱们用的是free版本,还没有这个属性,所以这个方法不是很好。

…..

总之没有得到最佳的解决方法!

 

         下面我来说一下我的解决办法,我是通过另一种思路来解决y轴不显示中文

        

         首先大家显示图表的方式假设是如下步骤:

 

1.         首先拼好chart的数据

2.         通过form表单提交将参数值传到图标页面,

3.         图标页面通过传过来的数据加载图表

 

接下来我要在传值和加载图表这两块做文章…

1.         传值的时候添加一个参数,参数的值为y轴的内容。

2.         将报表的格局分为左右两个部分,       

 

可能大家已经都理解我要做的方案了。

        

         我具体的实现步骤如下:

1.得到传过来的y轴的内容:    

//y 轴的名称
String yName=request.getParameter("yName");
if (yName != null && !yName.equals("")) {
yName = new String(yName.getBytes("ISO8859-1"), "UTF-8");
}

2.判断有没有这个y轴内容,如果内容为空【这块想到是没有Y轴的报表如:饼图】,那么直接没有必要来显示这个层  【这个层的目的是让他漂浮在报表的上面】

<%
if(yName!=null&&!yName.equals("")&&!yName.equals("undefined"))
{
%>
<!--在这里尽量和设置图表的标题的格式一致-->
<div id="first_Chart_Div" style="font-family: '宋体';font-size: 13;background: white;position: absolute;left:5px; top:15px;text-align:right;">
<%=yName %>
</div>
<%
}
%>

3.和正常的写法一样显示图标的层

<div id="chartdiv" style="width:100%;heigth:100%;">
</div>
<script type="text/javascript">
var chart = new FusionCharts("../Charts/FCF_Column2D.swf", "ChartId", "600", "350");
<!--result为传过来的数据值-->
chart.setDataXML("<%=result%>");
chart.render("chartdiv");<!--在这里添加第四步操作-->
</script>

4.添加js代码将我们第二步添加的层添加到chartdiv中,【这一步操作一定要在chart.render("chartdiv")之后添加,因为在执行render时,他先会将里面的内容清空】

var chartDivHeightObj=document.getElementById("chartdiv");
var firstObject_Chart=document.getElementById("first_Chart_Div");
if(firstObject_Chart){
chartDivHeightObj.appendChild(firstObject_Chart);
}

5.运行效果之后,火狐里面显示没有问题,但是在ie里面怎么也出不来,我查过资料,在图表中的js【FusionCharts.js】中第第46行添加代码,【注:其他的可能不是这个行数,大家可以根据自己的实际情况来添加,目的就是在flash里面添加一个属性】

this.addParam("wmode",'transparent');


到这里,就大功告成了!   如果还有需要在

最终效果如下

        

     

         总结: 虽然说我的这个方法非常的俗,但是很好的解决了FusionChartsFree y轴不显示中文的问题,  其实我们在解决某一个问题的时候,怎么都没有思路,不如我们换一个思路来思考这个问题,可能会有意想不到的收获。并且会省大家很多的时间…

        

         哈哈 今天的blog就写到这里,哪里写的不是很好,希望大家多多指教!  如果有不太明白之处, 可留言给我,或发送邮件nishiwode923@qq.com  多谢指教!

        

                   下次blog的内容是解决FusionChartsFree图标y轴汉字重叠的问题,希望大家多多关注….

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  报表 blog div string null flash