zoukankan      html  css  js  c++  java
  • ASP.NET——Echarts练习Demo2(简单的圆饼图)

    大概效果:

    参考:https://echarts.apache.org/examples/zh/editor.html?c=pie-nest

    前端:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="axmt630zc.aspx.cs" Inherits="xsweb.ERPInfo.EchartsDemo.axmt630zc" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>当月装车出货金额汇总(物料类别二)</title>
        <script src="../../resources/scripts/jquery-3.5.1.min.js"></script>
        <script src="../../resources/scripts/echarts.min.js"></script>
    
        <script>
            var ds = new Array();
            var dsdate = new Array();
            var myChart;
    
            //Ajax请求
            var GetDataByAjax = function () {
                $.ajax({
                    url: "axmt630zc.aspx/GetAxmt630zc",
                    type: "post",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        cnt = (data.d).length;
                        for (var i = 0; i < cnt; i++) {
                            var js = '{"value":' + (data.d)[i]["amt"] + ',"name":"' + (data.d)[i]["wuliao2"] + '"}';
                            var obj = JSON.parse(js);
                            ds.push(obj);
                            dsdate.push((data.d)[i]["wuliao2"]);
                        }
                        Show2();
                    },
                    error: function (err) {
                        alert("出错!");
                    }
                });
            }
            $(function () {
                // 基于准备好的dom,初始化echarts实例
                myChart = echarts.init(document.getElementById('axmt630zc'));
                myChart.showLoading();  // 开启 loading 效果            
                GetDataByAjax();
            });
    
            function Show2() {
                var option = {
                    tooltip: {
                        trigger: 'item',
                        formatter: '{a} <br/>{b}: {c} ({d}%)'
                    },
                    //legend: {
                    //    data: dsdate
                    //},
                    series: [
                        {
                            name: '当月装车出货金额',
                            type: 'pie',
                            selectedMode: 'single',
                            radius: [0, '30%'],
                            label: {
                                position: 'inner',
                                fontSize: 14,
                            },
                            labelLine: {
                                show: false
                            }
                        },
                        {
                            name: '当月装车出货金额',
                            type: 'pie',
                            radius: ['10%', '50%'],
                            labelLine: {
                                length: 30,
                            },
                            label: {
                                formatter: '{a|{a}}{abg|}
    {hr|}
      {b|{b}:}{c}  {per|{d}%}  ',
                                backgroundColor: '#F6F8FC',
                                borderColor: '#8C8D8E',
                                borderWidth: 1,
                                borderRadius: 4,
    
                                rich: {
                                    a: {
                                        color: '#6E7079',
                                        lineHeight: 22,
                                        align: 'center'
                                    },
                                    hr: {
                                        borderColor: '#8C8D8E',
                                         '100%',
                                        borderWidth: 1,
                                        height: 0
                                    },
                                    b: {
                                        color: '#4C5058',
                                        fontSize: 14,
                                        fontWeight: 'bold',
                                        lineHeight: 33
                                    },
                                    per: {
                                        color: '#fff',
                                        backgroundColor: '#4C5058',
                                        padding: [3, 4],
                                        borderRadius: 4
                                    }
                                }
                            },
                            data: ds
                        }
                    ]
                };
    
                myChart.hideLoading();  // 隐藏 loading 效果
    
                // 使用刚指定的配置项和数据显示图表。
                myChart.setOption(option);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <div id="axmt630zc" style=" 1000px; height: 600px;"></div>
            </div>
        </form>
    </body>
    </html>

    后端:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using xsweb.BLL;
    using xsweb.Model;
    
    namespace xsweb.ERPInfo.EchartsDemo
    {
        public partial class axmt630zc : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            [WebMethod]
            public static List<Axmt630zcInfo> GetAxmt630zc()
            {
                List<Axmt630zcInfo> zcList = new Axmt630zcBLL().GetAxmt630zcData();
                return zcList;
            }
    
        }
    }

    Label金额显示千分位,修改:

    formatter: function (p) {
                                    return p.name + "" + formatNum(p.value) + "元(" + p.percent+"%)";
                                }
    function formatNum(strNum) {
                if (strNum.length <= 3) {
                    return strNum;
                }
                if (!/^(+|-)?(d+)(.d+)?$/.test(strNum)) {
                    return strNum;
                }
                var a = RegExp.$1,
                    b = RegExp.$2,
                    c = RegExp.$3;
                var re = new RegExp();
                re.compile("(\d)(\d{3})(,|$)");
                while (re.test(b)) {
                    b = b.replace(re, "$1,$2$3");
                }
                return a + "" + b + "" + c;
            }
  • 相关阅读:
    Gin-Go学习笔记六:Gin-Web框架 Api的编写
    Gin-Go学习笔记五:Gin-Web框架 文件的操作
    Gin-Go学习笔记四:Gin-Web框架 文件的上传下载
    Gin-Go学习笔记三:Gin-Web框架 JS分页
    Gin-Go学习笔记二:Gin-Web框架
    Gin-Go学习笔记一:Hello World
    质因数分解
    素数算法
    linux-cento os学习笔记1
    python运行代码出现'ascii' codec can't decode byte 0xb4 in position 11: ordinal not in range(128)
  • 原文地址:https://www.cnblogs.com/xiaoli9627/p/15128302.html
Copyright © 2011-2022 走看看