ExtJs_chart_columnchart示例

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:51   949   0



//引入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);


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP