• FusionCharts统计图


    文章写的不好,小随笔是给自己看的:

    做了一年的网页版的系统,大部分功能都实现了,现在就是在不停的维护,改用户的特殊需求;说好的电商还是弄了个开头,真正的部分还没有做。

    这么久了感觉积极性越来越少了,说句不好听的有点,每天就是在坐等下班,进步也不是很大,现在的状态和知识量想跳槽都没有勇气啊,愁死了。

    不发牢骚了,好久前用到了FusionCharts统计图,感觉效果不错,很久了,就把图片和部分代码写贴出来,以后再看就不用去程序里找了。

    效果图:

     

    效果图还错,在刚刚进页面查询的时候还是慢慢显示出来的js特效,柱形的像是从横坐标上长出来的一样;

    Extjs的框架嘛,所以留一个区域用于显示,<ext:panel>中放一个<ext:GroupPanel>,(可以加各种查询条件)

    <ext:GroupPanel ID="GroupPanel2" EnableBackgroundColor="false" Title="数据报表" runat="server"
                    EnableCollapse="True">
                    <Items>
                        <ext:ContentPanel ID="ContentPanel1" Title="内容面板" ShowHeader="false" ShowBorder="false"
                            EnableBackgroundColor="false" BodyPadding="10px" runat="server">
                            <div id="chartDiv" style="text-align: left; font-size: 20px;">
                            </div>
                        </ext:ContentPanel>
                    </Items>
                </ext:GroupPanel>

    js需要引用<script src="FusionCharts.js" type="text/javascript"></script>
                  <script src="jquery-1.4.1.min.js" type="text/javascript"></script>

    <script type="text/javascript">
            $.ajax({ url: "AllTypeTable.aspx", data: { 'nocache': Math.random() }, timeout: 50000, success: function (text) {
                var myChart1 = new FusionCharts("../../FusionCharts/FCF_Column3D.swf", "myChartId", "1000", "400");
                //实例化一个FusionCharts对象出来(FCF_Column3D.swf是其中的一个样式)参数myChartId是对该实例化的FusionCharts对象定义的一个ID号,可以自己根据自己需要随意取;
                //第三个和第四个参数分别指明该实例化的FusionCharts对象的长和宽。
                myChart1.addParam("wmode", "Opaque"); //myChart1的属性
                myChart1.setDataXML(text);
                myChart1.render("chartDiv");
            }
            });
            //多条件查询按钮的事件
            function test() {
                var sysuser = $("#Panel1_GroupPanel1_Form5_ctl01_Ssysuser").val();
                var starttime = $("#Panel1_GroupPanel1_Form5_ctl00_Starttime").val();
                var endtime = $("#Panel1_GroupPanel1_Form5_ctl00_Endtime").val();
                if ((starttime == "开始日期" && endtime != "结束日期") || (starttime != "开始日期" && endtime == "结束日期")) {
                    alert("只填一个日期,无效!"); return;
                }
    
                $.ajax({ url: "AllTypeTable.aspx", data: { 'nocache': Math.random(), 'start': starttime, 'end': endtime, 'sysuser': sysuser }, timeout: 50000, success: function (text) {
                    var myChart1 = new FusionCharts("../../FusionCharts/FCF_Column3D.swf", "myChartId", "1000", "400");
                    myChart1.addParam("wmode", "Opaque");
                    myChart1.setDataXML(text);
                    myChart1.render("chartDiv");
                }
                });
            }
            //柱形统计图点击后跳转页面(用于统计信息的完整记录展示)
            var i = 0;
            function openurl(strurl) {
                var node = {
                    attributes: { href: strurl },
                    text: '高级查看页',
                    id: 'CusViewPerson' + i++
                };
                window.parent.addExampleTab(node);
            }
        </script>

    后台代码:

    /// <summary>
    /// 用于页面统计图的显示
    /// </summary>
    /// <param name="threedata">拼接好的数据</param>
    /// <param name="totalcount">总数量</param>
    public void BindReport(string threedata, int totalcount)
        {
            StringBuilder personpost = new StringBuilder();
            personpost.Append("<?xml version="1.0" encoding="gbk" ?>");
            personpost.Append("<graph caption='重复Url(总数[").Append(totalcount).Append("])' xAxisName='重复数量' numberSuffix='' showNames='1' decimalPrecision='0' formatNumberScale='0' baseFontSize='16' >");
            string threedata2 = threedata.ToString().TrimEnd(';');
            if (!string.IsNullOrEmpty(threedata2))
            {
                string[] group1 = threedata2.Split(';');
                foreach (string str in group1)
                {
                    string[] str2 = str.Split(',');
                    personpost.AppendFormat("<set name='{0}' value='{1}' color='AFD8F8'/>", str2[0], str2[1]);
                }
            }
            else
            {
                personpost.Append("<set name='无数据可显示' value='0' color='AFD8F8'/>");
            }
            personpost.Append("</graph>");
            String str1 = personpost.ToString();
    
            Response.Clear();
            Response.ClearHeaders();
            Response.ContentEncoding = Encoding.GetEncoding("GB2312");
            Response.Write(str1);
    
            Response.Flush();
            Response.End();
        }

    这个是柱形统计图的代码

  • 相关阅读:
    android 联系数据库
    shuffle一个简单的过程叙述性说明
    每天的学习经验:SharePoint 2013 定义自己添加的产品清单。Callout菜单项、文档关注、SharePoint服务机端对象模型查询
    函数调用
    InputMonitor注意事项
    处理FTP上传成功推理
    用Web技术开发客户端(一)
    简析Chrome和Webkit的渊源
    历史在重演:从KHTML到WebKit,再到Blink
    开发者应当了解的WebKit知识
  • 原文地址:https://www.cnblogs.com/wningning/p/3367930.html
Copyright © 2020-2023  润新知