//引入FLASH文件。 Ext.chart.Chart.CHART_URL='charts.swf'; //命名空间 Ext.ns("App.chart"); //程序入口。 Ext.onReady(function(){ new App.chart.bzfcolumnchart(); //特别提醒:要用这种格式new哦! }); App.chart.bzfcolumnchart = Ext.extend(Ext.Panel, { title:"2011-2012学年学生标准分成绩柱形图end_ok?", frame:true, iconCls:"chart", renderTo:Ext.getBody(), width:700, height:300, layout:'fit', //初始化组件 initComponent:function(){ Ext.apply(this,{ items:[{ xtype:'columnchart', store:this.getStore(), xField:'ksmc', url:'charts.swf', series:this.series, chartStyle:this.chartStyle }] }); App.chart.bzfcolumnchart.superclass.initComponent.call(this); }, //提醒:原始数据。 getchartDatas:function(){ var data=[ { "ysf":93, "ksmc":"2011-2012学年度上学期高一年级期中考试", "bzf":481.025199206007, "bjmc":"111", "tglv":" ", "ksrq":"2011-11-07" },{ "ysf":95.2923076923077, "ksmc":"2011-2012学年度上学期高一年级期末考试", "bzf":500.334870366218, "bjmc":"111", "tglv":"4.0143%", "ksrq":"2012-02-05" },{ "ysf":97.0820512820513, "ksmc":"2011-2012学年度上学期高一年级期中考试", "bzf":515.100108417183, "bjmc":"112", "tglv":" ", "ksrq":"2011-11-07" },{ "ysf":95.0461538461539, "ksmc":"2011-2012学年度上学期高一年级期末考试", "bzf":495.658860100003, "bjmc":"112", "tglv":"-3.7743%", "ksrq":"2012-02-05" },{ "ysf":95.7333333333333, "ksmc":"2011-2012学年度上学期高一年级期中考试", "bzf":503.87469237681, "bjmc":"113", "tglv":" ", "ksrq":"2011-11-07" },{ "ysf":95.5641025641026, "ksmc":"2011-2012学年度上学期高一年级期末考试", "bzf":504.006269533779, "bjmc":"113", "tglv":"0.0261%", "ksrq":"2012-02-05" } ]; return data; }, /** * 功能:判断是否已经存在ksmc。 * @param {} newdatas * @param {} ksmc * @return 不存在返回-1;存在为,则返回下标。 */ getksmcIndex:function(newdatas,ksmc){ for(var i=0,size=newdatas.length;i<size;i++) { if(newdatas[i]["ksmc"]==ksmc) { return i; } } return -1; }, /** * 功能:组装数据。 * @return {} */ dosomething:function(){ var olddatas=this.getchartDatas(); //原始数据。 var newdatas=[]; //新数据。 var j=0; for(var i=0,size=olddatas.length;i<size;i++) {//循环读取数据。 var ksmc=olddatas[i]["ksmc"]; //得到考试名称。 var index=this.getksmcIndex(newdatas,ksmc); if(index==-1) { newdatas[j]={"ksmc":ksmc}; newdatas[j][String.format("bzf{0}",olddatas[i]["bjmc"])]=olddatas[i]["bzf"]; j++ }else{ newdatas[index][String.format("bzf{0}",olddatas[i]["bjmc"])]=olddatas[i]["bzf"]; } } /*//调试:打印输出。 Ext.each(newdatas,function(d){ for(var p in d) { alert(p+":"+d[p]); } alert("---a---b---c---"); }) alert("组装好的数据长度:" + newdatas.length);*/ return newdatas; }, //提醒:组装好的store。 getStore:function(){ var store=new Ext.data.JsonStore({ fields:['ksmc','bzf111','bzf112','bzf113'], data:this.dosomething() //data:this.getDatas() }); return store; }, /*//提醒:组装好的store数据data。 getDatas:function(){ var data=[ {"ksmc":"2011-2012学年度上学期高一年级期中考试", "bzf-111":481.025199206007, "bzf-112":515.100108417183, "bzf-113":503.87469237681}, {"ksmc":"2011-2012学年度上学期高一年级期末考试", "bzf-111":500.334870366218, "bzf-112":495.658860100003, "bzf-113":504.006269533779} ]; return data; },*/ series:[{ displayName: '班级11(1)', yField: 'bzf111', style: { mode: 'stretch', color: 0x15428B } }, { displayName: '班级11(2)', yField: 'bzf112', style: { mode: 'stretch', color: 0x99BBE8 } }, { displayName: '班级11(3)', yField: "bzf113", style: { mode: 'stretch', color: 0xdfe8f6 } }], chartStyle:{padding:10, //填充。 animationEnabled:true, legend:{ //柱形说明文字。 display:'top', font:{ hold:true } }, font:{ //X轴Y轴字体设置。 name:'Tahoma', color:0x444444, size:11 }, dataTip:{ //提示框显示。 padding:5, border:{ //边框设置。 color:0x99bbe8, size:1 }, background:{ color:0xDAE7F6, alpha:.9 //透明度。 }, font:{ //字体设置。 name:'Tahoma', color:0x15428B, size:10, hold:true } }} }); Ext.reg("bzfcolumnchart",App.chart.bzfcolumnchart);
|