手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >extjs ColumnChart设置不同的颜色实现代码
extjs ColumnChart设置不同的颜色实现代码
摘要:复制代码代码如下:Ext.onReady(function(){//定义storevarchartStore=newExt.data.Jso...

复制代码 代码如下:

Ext.onReady(function(){

//定义store

var chartStore = new Ext.data.JsonStore({

root:'root',

fields:[

{name:'ne',type:'string'},//网元

{name:'confine',type:'int'},//阀值

{name:'bill',type:'string'}//工单数

],

sortInfo:{field: 'bill', direction: 'ASC'}

});

//测试数据

var obj={

root:[

{ne:'网元一',confine:80,bill:150},

{ne:'网元二',confine:150,bill:140},

{ne:'网元三',confine:180,bill:160},

{ne:'网元五',confine:120,bill:180},

{ne:'网元六',confine:165,bill:13},

{ne:'网元七',confine:54,bill:12},

{ne:'网元八',confine:55,bill:44},

{ne:'网元九',confine:33,bill:113},

{ne:'网元十',confine:122,bill:77}

]

}

//载入数据

chartStore.loadData(obj);

//pushlet 回调函数

window.onData = function (event) {

//alert(event.get("data1"));

var obj1 = eval('('+event.get("data1")+')');

//obj=obj1;

//chartStore.loadData(obj);

}

// 系统属性定义列数据模型

var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),

{header:'网元',dataIndex:'ne'},

{header:'工单量',dataIndex:'bill',renderer:function(value, cellMeta, record, rowIndex, columnIndex, store){

var confine = record.data['confine'];

/*if(value>=confine){

//cellMeta.css='x-grid-back-red';

var row = cm.findColumnIndex(rowIndex);

row.css='x-grid-back-red';

}*/

return value;

}},

{header:'阀值',dataIndex:'confine'}

//{header:'操作',dataIndex:'state',renderer:renderOperate}

]);

var grid = new Ext.grid.EditorGridPanel({

title:'工单积压监控统计',

cm:cm,

store:chartStore,

sm : new Ext.grid.RowSelectionModel({

singleSelect : true

}),

stripeRows:true,

loadMask:true,

clicksToEdit : 2,//双击触发,

enableColumnMove : false,

trackMouseOver : false,

stripeRows:true,

frame:true,

loadMask:{

msg:"数据加载中....."

},

viewConfig:{

forceFit:true,

columnsText:'显示列',

scrollOffset:25,

sortAscText:'升序',

sortDescText:'降序'

},

autoExpandColumn:'desc',

bbar:new Ext.PagingToolbar({

pageSize:24,

store:chartStore,

displayInfo:true,

displayMsg:'显示第 {0} 条到第 {1} 条记录,总共 {2} 条',

emptyMsg:'无记录'

}),

viewConfig:{forceFit:true,sortAscText:'正序',sortDescText:'降序',

getRowClass : function(record,rowIndex,rowParams,store){

if(record.data.bill>=record.data.confine){

return 'x-grid-back-red';

}

}

}

});

var linechart = new Ext.chart.LineChart({

title:'工单积压图表',

xtype:'linechart',

url: AIUPP_ROOT+'/css/resources/charts.swf',

store:chartStore,

//xField: 'label',

//yField:'alarmCount',

//定义tip内容

tipRenderer : function(chart, record){

//alert(record.get('startTime'));

var ne = record.get('ne');

var str = String.format('网元:{0}n工单量:{1}n阀值:{2}',ne,record.get('bill'),record.get('confine'))

return str;

},

//定义两个图表,一个是柱状图,一个是折线图

series: [{

type: 'column',

displayName: '工单个数',

id:"billId",

xField: 'ne',

yField: 'bill',

style: {

color:0x99BBE8,

size: 20

}

},{

type:'column',

displayName: '阀值',

xField: 'ne',

yField: 'confine',

style: {

color: '#ff0000',

size: 20

}

}],

listeners:{

"show":function(){

var c = linechart.series;

//alert(c[1].store);

//c[1].style.color='#00ff00';

}

},

//定义图表样式

chartStyle: {

legend:{

display: "top"

},

xAxis: {

color: 0x69aBc8,

majorTicks: {color: 0x69aBc8, length:4},

minorTicks: {color: 0x69aBc8, length: 2},

majorGridLines:{size: 1, color: 0xeeeeee}

},

yAxis: {

color: 0x69aBc8,

majorTicks: {color: 0x69aBc8, length: 4},

minorTicks: {color: 0x69aBc8, length: 2},

majorGridLines: {size: 1, color: 0xdfe8f6}

}

}

});

var contentPanel = new Ext.TabPanel({

region:'center',

enableTabScroll:true,

activeTab:0,

closable:false,

split : false,

collapsible : false,

layoutOnTabChange:true,

items:[linechart,grid]

});

// 间隔时间

var interval = new Ext.form.TextField({

name:'interval',

fieldLabel:'间隔时间',

id:"searchInterval"

});

// 分组方式

var groupType = new Ext.form.RadioGroup({

name:'groupType',

fieldLabel:'分组方式',

id:"searchGroupType",

items:[

new Ext.form.Radio({

name:"groupType",

inputValue:"1",

boxLabel:"地区"

}),

new Ext.form.Radio({

name:"groupType",

inputValue:"2",

boxLabel:"地区+网元"

}),

new Ext.form.Radio({

name:"groupType",

inputValue:"3",

boxLabel:"地区+网元+业务代码"

})

]

});

// 开始按钮

var startBtn = new Ext.Button({

text:'开始',

minWidth:80,

handler:function(){

//store.load();

}

});

// 停止按钮

var stopBtn = new Ext.Button({

text:'停止',

minWidth:80,

handler:function(){

//store.load();

}

});

var searchPanel = new Ext.form.FormPanel({

labelAlign:'left',

labelWidth:60,

frame:true,

layout:'column',

items:[

{columnWidth:.28,layout:'form',items:[interval]},

{columnWidth:.38,layout:'form',items:[groupType]},

{columnWidth:.10,layout:'form',items:[startBtn]},

{columnWidth:.16,layout:'form',items:[stopBtn]}

]

});

var vp = new Ext.Viewport({

layout:'border',

border:false,

hideBorders:true,

bufferResize:100,

items:[

//{region:'north',title:'::监控条件',autoHeight:true,margins:'5 5 10 5',collapsible:true,items:[searchPanel]},

{region:'center',layout:'fit',margins:'5 5 5 5',items:[contentPanel]}

]

});

vp.show();

});

【extjs ColumnChart设置不同的颜色实现代码】相关文章:

剖析Node.js异步编程中的回调与代码设计模式

获得当前页面URL地址的三个JS代码

用JavaScript实现页面重定向功能的教程

js去字符串前后空格的实现方法

微信浏览器内置JavaScript对象WeixinJSBridge使用实例

Ctrl + Enter提交前检测的代码

多种js图片预加载实现方式分享

删除javascript所创建子节点的方法

js去除字符串里中文与空格的例子

精确到分钟的js日历控件,日期选择器代码

精品推荐
分类导航