日期:2014-05-16  浏览次数:20730 次

在线等!关于FusionCharts
请各位来帮帮学弟;
==========JS===========
JScript code
$(function(){
    $("#showFusionChart").click(function(){
        $.ajax({
            type:"POST",
            url:"/config/fusionChartsManage!findFusionCharts.action",
            success:function(responseText){
                 var myChart = new FusionCharts( "FusionCharts/Column3D.swf", "myChartId6", "600", "300", "0", "1" );
                myChart.setDataXML(responseText);  //可以获得值
                 myChart.render("chartID6");
                
            }    
        });
        
    });
});


这是action里的方法================
Java code
String chartHead = "<chart caption='my first fusionCharts' xAxisName='名称' yAxisName='编号'  numberPrefix='$'  chartLeftMargin='50' chartRightMargin='50'>";
        StringBuffer sb = new StringBuffer();
        StringBuffer sValue = new StringBuffer();
        if (array != null) {
            for (int i = 0; i < array.length; i++) {
                sb.append("<set name = '"+array[i][0]+"' />");
                sValue.append("<set value='"+array[i][1]+"' />");
            }
        }
        String chartEnd = "</chart>";
        chartHead += sb.toString() + sValue.toString() + chartEnd;
//        chartHead += xmlId + xmlValue + chartEnd;
        logger.debug("图表信息:" + chartHead);
        return chartHead;

==========这是返回的数据格式================
XML code
<chart caption='my first fusionCharts' xAxisName='名称' yAxisName='编号' numberPrefix='$' chartLeftMargin='50'
chartRightMargin='50'>
    <set label='0' value='允许' />
    <set label='1' value='硬错误' />
    <set label='2' value='警告' />
</chart> 

-----------
展示数据时可以得到label,但不能得到value,请问这是为何呀??/

------解决方案--------------------
value需要的是一个数值(或者能够转换为数值的东西),而不是你这种字符串
你想想,fusioncharts是图表控件,label表示在x轴的值,即对象名称,也可以理解为列名,这个可以为字符串,value表示对象值,这个当然需要一个数值了,不然怎么显示出来?
------解决方案--------------------
你把value换成数值或者数值型字符串就可以成功了,比如:
<set label='允许' value='0' />
<set label='硬错误' value='1' />
<set label='警告' value='2' />