博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExtJs4实战流量统计系统----流量数据展示(四)
阅读量:5162 次
发布时间:2019-06-13

本文共 4138 字,大约阅读时间需要 13 分钟。

这块内容,是点击左侧栏目列表中的栏目后,加载到中间内容区域(Tab选项卡)的的内容。

这个,在整个系统中,是相对简单的功能。

一个Panel,上边是Chart,下边是详细数据。

唯一值得说一下的就是图表类型切换,也就是:饼状图和柱状图的切换。

实现过程

我原本是希望只切换Chart组件的axes和series属性,但简单尝试了一下,没成功,由于时间关系,便放弃了。

转而采用最简单的方式:就是把现有Chart销毁,然后再重新创建新的Chart。

切换按钮代码:

this.turnAction = Ext.create('Ext.Action', {            text: '切换为柱状图',            iconCls: 'icon_chartbar',            scope: this,            handler: function () {                this.chartType = !this.chartType;                this.buildChart(true);            }        });

具体实现代码:

buildChart: function (isRemove) {        var me = this;        if (isRemove) {            this.chartBox.removeAll(true);        }        if (this.chartType) {            var strTitle = "";            var areaType = this.areaTypeField.getValue();            if (areaType == '1') {                strTitle = '省份';            }            else if (areaType == '2') {                strTitle = '大区';            }            //--修改切换按钮的图标及标题            this.turnAction.setIconCls('icon_chart_pie');            this.turnAction.setText('切换为饼状图');            this.areaChart = Ext.create('Ext.chart.Chart', {                shadow: true,                theme: 'Base:gradients',                animate: true,                store: this.dataStore,                axes: [{                    type: 'Numeric',                    position: 'left',                    fields: ['PV'],                    title: 'PV',                    grid: true                }, {                    type: 'Category',                    position: 'bottom',                    fields: ['Name'],                    title: strTitle                }],                series: [{                    type: 'column',                    axis: 'left',                    highlight: true,                    tips: {                        trackMouse: true,                        width: 140,                        height: 28,                        renderer: function (storeItem, item) {                            this.setTitle(storeItem.get('Name') + ' PV: ' + storeItem.get('PV') + ' ');                        }                    },                    xField: 'Name',                    yField: 'PV'                }]            });        }        else {            //--修改切换按钮的图标及标题            this.turnAction.setIconCls('icon_chartbar');            this.turnAction.setText('切换为柱状图');            this.areaChart = Ext.create('Ext.chart.Chart', {                shadow: true,                legend: {                    position: 'right'                },                animate: true,                //insetPadding: 60,                theme: 'Base:gradients',                store: me.dataStore,                series: [{                    type: 'pie',                    angleField: 'PV',                    showInLegend: true,                    highlight: {                        segment: {                            margin: 20                        }                    },                    tips: {                        trackMouse: true,                        renderer: function (storeItem, item) {                            if (me.totalPV <= 0) {                                me.dataStore.each(function (rec) {                                    me.totalPV += storeItem.get('PV');                                });                            }                            var strMsg = storeItem.get('Name') + ': ' + storeItem.get('PV') + '(' + Math.round(storeItem.get('PV') / me.totalPV * 100) + '%)';                            this.update(strMsg);                        }                    },                    label: {                        field: 'Name',                        display: 'rotate',                        contrast: true,                        font: '18px Arial'                    }                }]            });        }        if (isRemove) {            this.chartBox.add(this.areaChart);        }    }

当然,Chart图表和下边的详细,所绑定的数据是一样的。。。

=========================分隔线====================================

其他的数据展示功能,都差不多,只是数据不一样,再就是图表类型不一样,就不一一介绍了。

下一篇,说说权限控制及实现吧。

转载于:https://www.cnblogs.com/uphenson/p/3595885.html

你可能感兴趣的文章
【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
查看>>
Java网络编程--socket服务器端与客户端讲解
查看>>
List_统计输入数值的各种值
查看>>
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
IP V4 和 IP V6 初识
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>