ASP.Net绑定Sql数据源用echarts图表来展示数据

ASP.Net绑定Sql数据源用echarts图表来展示数据

这里我们需要先学会ajax请求和网页的echarts图的使用
不会的同学也没关系可以看我接下来的内容我会一步步的来讲解的
首先大家可以先从我的博客里下载一下一个免费华为数据库的sql语句来创建数据库
在这里插入图片描述

首先先创建一个空白解决方案

在这里插入图片描述

在这里插入图片描述
之后我们创建一个空白的asp.net的项目
在这里插入图片描述
在我们的项目中加一个DBHelper类
在这里插入图片描述

之后我们既然用到了数据库就一定会有DBHelper类下面我就写了一个DBHelper类

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HuaWeiProject
{
    public class DBHelper
    {

        //1,定义连接字符串
        public static string connStr = "server=.;database=huawei;Integrated Security=true";
        public static SqlConnection connection;
        //创建连接对象并打开
        public static void InitConn()
        {
            //1,创建连接对象
            connection = new SqlConnection(connStr);
            //2,打开连接
            connection.Open();
        }
        //执行增删改的方法
        public static bool ExecuteNonQuery(string sql)
        {
            InitConn();//连接并打开数据库
            //创建Command对象
            SqlCommand command = new SqlCommand(sql, connection);
            //执行sql语句
            int result = command.ExecuteNonQuery();
            connection.Close();//关闭数据库
            return result>0;
        }
        //执行查询
        public static SqlDataReader ExecuteReader(string sql)
        {
            InitConn();//连接并打开数据库
            SqlCommand command = new SqlCommand(sql, connection);//创建Command对象
            SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
            return reader;
        }

        //执行查询
        public static DataTable GetTable(string sql)
        {
            InitConn();//连接并打开数据库
            //创建SqlDataAdapter对象
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            //创建DataSet
            DataSet ds = new DataSet();
            //填充
            adapter.Fill(ds);
            return ds.Tables[0];
        }
    }
}

之后我这里要用到jQuery和echarts脚本
在这里插入图片描述
里面放我的两个js脚本:这两个脚本可以在网上找一找一下就出来了
echarts:https://echarts.apache.org/zh/index.html
jquery:https://www.jb51.net/zt/jquerydown.htm
在这里插入图片描述
下面我们创建一个html网页
在这里插入图片描述
之后就是我们的html代码了
第一个ajax请求我都写了注释了其他的都雷同

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="js/echarts.min.js"></script>
    <script src="js/jquery-3.3.1.min.js"></script>
    <style type="text/css">
        * {
            margin: 0px;
            padding: 0px;
        }

        #box1 {
            width: 800px;
            height: 600px;
            margin: 0px auto;
            border: 1px solid red;
        }

        #tab {
            float: right;
            border: 1px solid aqua;
        }

        #charts {
            width: 600px;
            height: 400px;
            margin: 50px auto;
            border: 1px solid greenyellow;
        }

        li {
            list-style: none;
            float: left;
            margin: 5px;
            padding: 5px;
            background-color: aquamarine;
        }

            li a {
                text-decoration: none;
            }
    </style>
    <script type="text/javascript">
        $(function () {  
            $("#btnbar").click(function () {/*这里我们按钮的点击事件*/
                var xAxis_Data = [];
                var series_Data = [];
                $.ajax({/*ajax请求*/
                    url: "HuaweiHandler.ashx",/*这里放我们的一般处理程序*/
                    dataType: 'json',/*文件类型*/
                    success: function (data1) {
                        $.each(data1, function (index, item) {/*这里相当于我们的for循环一步一步把里面的数据取出来放在我们的数组里*/
                            xAxis_Data.push(item.name);
                            series_Data.push(item.value);
                        })
                        echarts.init(document.getElementById('box')).dispose();/*echarts图初始化*/
                        var myChartbar = echarts.init(document.getElementById('box'));
                        var option = {/*数据绑定具体去看我上面发的echarts图官网*/      
                            title: {
                                text: '华为部门员工表'
                            },
                            tooltip: {},
                            legend: {
                                data: ['人数']
                            },
                            xAxis: {
                                data: xAxis_Data
                            },
                            yAxis: {},
                            series: [{
                                name: '人数',
                                type: 'bar',
                                data: series_Data
                            }]
                        };
                        myChartbar.setOption(option);
                    }
                });
            });
            $("#btnline").click(function () {
                var xAxis_Data = [];
                var series_Data = [];
                $.ajax({
                    url: "HuaweiHandler.ashx",
                    dataType: 'json',
                    success: function (data1) {
                        $.each(data1, function (index, item) {
                            xAxis_Data.push(item.name);
                            series_Data.push(item.value);
                        })
                        echarts.init(document.getElementById('box')).dispose();
                        var myChartbar = echarts.init(document.getElementById('box'));
                        var option = {
                            title: {
                                text: '华为部门员工表'
                            },
                            tooltip: {},
                            legend: {
                                data: ['人数']
                            },
                            xAxis: {
                                data: xAxis_Data
                            },
                            yAxis: {},
                            series: [{
                                name: '人数',
                                type: 'line',
                                data: series_Data
                            }]
                        };
                        myChartbar.setOption(option);
                    }
                });
            });
            $("#btnpie").click(function () {
                $.ajax({
                    url: "HuaweiHandler.ashx",
                    dataType: 'json',
                    success: function (data1) {      
                        echarts.init(document.getElementById('box')).dispose();
                        var myChartpie = echarts.init(document.getElementById('box'));
                        var option = {
                            title: {
                                text: '华为部门员工表',
                                left: 'center'
                            },
                            tooltip: {},
                            legend: {
                                orient: 'vertical',
                                left: 'left'
                            },
                            series: [{
                                name: '销量',
                                type: 'pie',
                                data: data1
                            }]
                        };
                        // 使用刚指定的配置项和数据显示图表。
                        myChartpie.setOption(option);
                    }
                });
            });
            $("#btnradar").click(function () {
                var renshu_Data = [];
                
                $.ajax({
                    url: "HuaWeiHandler1.ashx",
                    dataType: 'json',
                    success: function (data) {
                        $.each(data, function (index, item) {
                            renshu_Data.push(item.value);

                        })
                        echarts.init(document.getElementById('box')).dispose();
                        var myChart = echarts.init(document.getElementById('box'));
                        var option;
                        option = {
                            title: {
                                text: '华为员工人数雷达图'
                            },
                            legend: {
                                data: ['预计人数', '实际人数']
                            },
                            radar: {
                                // shape: 'circle',
                                indicator: data
                            },
                            series: [{
                                name: '预计人数 vs 实际人数',
                                type: 'radar',
                                data: [
                                    {
                                        value: [5, 4, 1, 3, 7],
                                        name: '预计人数'
                                    },
                                    {
                                        value: renshu_Data,
                                        name: '实际人数'
                                    }
                                ]
                            }]
                        };
                        myChart.setOption(option);
                    }
                });
            });
        });
    </script>
</head>
<body>
    <div id="box1">
        <div id="tab">
            <ul>
                <li><a href="#" id="btnbar">柱状图</a></li>
                <li><a href="#" id="btnline">折线图</a></li>
                <li><a href="#" id="btnpie">饼状图</a></li>
                <li><a href="#" id="btnradar">雷达图</a></li>
            </ul>
        </div>
        <div id="charts">
            <div id="box" style="width: 600px;height:400px;"></div>
        </div>
    </div> 
</body>
</html>

最后就是我们的一般处理程序了
在这里插入图片描述
在这里插入图片描述
创建出来
下面就是我们一般处理程序里面写的内容了
其中我们需要添加一个 Newtonsoft.Json.dll引用来保存我们的json数据
Newtonsoft.Json.dll:https://github.com/JamesNK/Newtonsoft.Json
在这里插入图片描述在这里插入图片描述
这里因为我有了就没有添加了

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using Newtonsoft.Json;
namespace HuaWeiProject
{
    /// <summary>
    /// HuaweiHandler 的摘要说明
    /// </summary>
    public class HuaweiHandler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            string sql = "select  d.deptName as name,COUNT(d.deptName) value  from Dept d inner join Employee e on e.DeptID=d.deptID group by d.deptName;";/*这里写我们的sql语句*/
            DataTable dt = DBHelper.GetTable(sql);/*运用到我们的DBHelper类的GetTable方法*/
            var str = JsonConvert.SerializeObject(dt);/*将我们的dt转化成我们的jaso数据*/
            context.Response.ContentType = "application/json";/*文件类型*/
            context.Response.Write(str);/*返回前端的json格式数据*/
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

最后我们看一下最终运行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后想看最终成型的项目的可以在我的博客里用积分下载就行了

  • 2
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 登录验证模块 1 1.1 开发站点前的配置 1 1.1.1 创建Web站点 1 1.1.2 使用站点安全工具配置身份验证模式 2 1.1.3 配置站点的数据存储方式 4 1.1.4 制自己的数据存储方式 4 1.2 最普通的登录方式 6 1.2.1 用户注册功能 6 1.2.2 用户的登录功能 7 1.2.3 修改密码功能 8 1.2.4 在登录页面中添加注册导航功能 8 1.2.5 显示登录用户名和用户状态功能 8 1.2.6 根据用户登录身份显示不同效果页功能 9 1.3 基于角色的登录方式 10 1.3.1 在应用程序中启用角色 10 1.3.2 创建角色 10 1.3.3 创建角色访问规则 11 1.3.4 赋予用户角色权限 11 1.3.5 验证角色的登录 12 1.4 匿名用户的授权管理 12 1.5 小结 13 第2章 缓存管理模块 14 2.1 数据库缓存依赖的优点 14 2.2 开始使用缓存 15 2.2.1 开启应用程序的缓存功能 15 2.2.2 配置缓存依赖的数据库 15 2.2.3 为SQL Server启用缓存通知 16 2.3 控件级数据缓存功能 16 2.3.1 添加时间戳和数据 16 2.3.2 观察缓存数据的变化 18 2.4 页面级数据缓存依赖功能 18 2.4.1 配置页面的缓存属性 18 2.4.2 完善模块中两个功能的导航 19 2.5 小结 20 第3章 个性化设置模块 21 3.1 简单类型的个性化设置功能 21 3.1.1 设置个性化的项目 21 3.1.2 配置个性化信息 22 3.1.3 个性化用户登录站点 22 3.1.4 保存个性化设置 22 3.1.5 显示个性化设置 23 3.2 复杂类型的个性化设置功能 23 3.2.1 设计复杂个性化的项目 24 3.2.2 配置复杂项目 25 3.2.3 保存复杂项目的设置 25 3.2.4 获取复杂项目的设置并显示 26 3.3 匿名用户的个性化设置功能 27 3.3.1 启用匿名用户的个人配置属性 28 3.3.2 设计匿名用户的登录功能 28 3.3.3 将匿名用户的个性化设置移植到已验证用户 30 3.4 完善系统对3个功能的导航 31 3.5 小结 31 第4章 投票模块 32 4.1 一个简单的投票系统 32 4.1.1 设计投票功能的数据存储方式 32 4.1.2 投票项目管理功能 33 4.1.3 投票功能 37 4.1.4 图形化显示投票结果功能 38 4.2 防止重复投票技术 40 4.2.1 利用Session对象 40 4.2.2 利用Cookies对象 41 4.2.3 验证IP和登录时间 41 4.2.4 小范围调查 42 4.3 一个完整的投票系统 42 4.3.1 投票系统的功能模块 42 4.3.2 投票系统的数据库架构 43 4.3.3 数据库中数据之间的关系 43 4.3.4 投票主题管理 44 4.3.5 投票项目管理 52 4.3.6 投票功能管理 54 4.3.7 投票系统后台权限管理 59 4.4 小结 60 第5章 RSS模块 61 5.1 RSS的义 61 5.2 RSS的作用 61 5.3 RSS的订阅原理 62 5.3.1 RSS的工作原理 62 5.3.2 RSS订阅工具的使用 63 5.4 在网站内加入RSS功能 65 5.4.1 使用Microsoft提供的RSS工具包 65 5.4.2 一个简单的RSS阅读器 66 5.4.3 一个复杂的RSS阅读器 67 5.4.4 让站点提供订阅功能 69 5.5 小结 70 第6章 在线编辑模块 71 6.1 在线编辑的原理 71 6.2 编辑器的界面 71 6.3 一个简单的在线编辑器 72 6.3.1 在线编辑窗口的界面设计 72 6.3.2 在线编辑的功能实现 73 6.3.3 在线编辑的运行效果 74 6.4 多功能在线编辑器的介绍 74 6.4.1 FreeTextBox编辑器 74 6.4.2 FCKEditor在线编辑器 76 6.5 小结 79 第7章 在线支付模块 80 7.1 在线支付介绍 80 7.1.1 在线支付的安全保障 80 7.1.2 在线支付的优点 80 7.2 在线支付的流程 81 7.3 使用支付宝实现在线支付 81 7.3.1 支付宝接口概述 81 7.3.2 支付宝接口服务下载 81 7.4 使用支付宝实现在线支付的实例 82 7.4.1 在项目中加入支付宝程序 82 7.4.2 设计订单提交功能 82 7.4.3 获取支付成功后的返回信息 84 7.4.4 设置支付过程中的通知 88 7.4.5 实现订单到支付宝的提交 90 7.5 小结 92 第8章 电子邮件模块 93
### 回答1: ASP.NET GridView控件可以通过数据的方式来显示数据数据可以使用多种方式,如数据数据表、数据集等。以下是一个简单的ASP.NET GridView数据的示例: 1. 在ASP.NET页面中添加GridView控件,并设置其属性AutoGenerateColumns为True。 2. 在代码中获取数据,可以使用ADO.NET、LINQ、Entity Framework等方式获取数据。 3. 将数据到GridView控件,可以使用以下代码: GridView1.DataSource = 数据; GridView1.DataBind(); 4. 如果需要自义GridView的列,可以在GridView的TemplateField中添加控件,如Label、TextBox等。 5. 最后,在页面中运行代码,即可看到GridView控件显示数据。 以上是ASP.NET GridView数据的基本步骤,具体实现方式可以根据实际需求进行调整。 ### 回答2: ASP.NET GridView是一个重要的Web控件,它提供了一种灵活易用的方式来显示数据。网格视图可以用于在Web页面上显示有序数据列表,类似于表格。GridView使得在Web上交互数据变得简单。在asp.net网页中,在GridView中展示数据库信息是一项非常有用的技能。 网格视图是可以通过自增字段或外部数据进行填充的。其中,通过外部数据是一个更为常见和实际中更为有用的方法。通过外部数据,可以使GridView获取并显示其他数据中的数据(如文件、数据库、Web服务等等)。 在ASP.NET数据到GridView控件的过程主要分为以下几步: 1. 配置数据:打开Visual Studio,从“工具箱”中拖出一个GridView控件,然后在“Data”标签页中选择“Configure Data Source”以配置数据。在其中选择采用的数据类型,然后配置连接细节,以便GridView能够连接到需要显示的数据集或数据库。 2. 义列:回到GridView控件设计器,义需要在GridView中显示的列。可以使用自动化分析来填写在GridView组件表格中应该显示的列。 3. 数据:将6处列与外部数据关联就可以为GridView组件填充数据。在此过程中,需要指数据策略以及如何提取数据。 4. 实施密钥排序:通过单击Header处的特列或者在“Data”标签中单击GridView控件的列名称进行排序。 GridView在ASP.NET网站上提供了强大的数据列表功能。所以掌握如何使用数据技术来展示数据库信息也是十分重要的。同时也需要了解GridView控件的许多属性,以便为应用程序添加适当的插入、删除和更新功能。 ### 回答3: ASP.NET GridView是一个常用的数据控件,它可以非常便捷地将数据到网页上。在使用GridView控件数据时,通常会有以下几个步骤: 1. 准备数据:GridView所数据可以是任意数据类型,包括数据表、数据集、数组、列表等。数据需要提前准备好,并赋值给GridView控件的DataSource属性。 2. 义列:GridView控件需要知道如何将数据显示在网页上,因此需要义每列的显示方式和数据类型。可以通过GridView控件的Columns属性添加列,在列中指字段名称、数据类型、显示格式等。 3. 数据:当GridView控件的DataSource和Columns属性都准备好后,可以通过GridView控件的DataBind方法来数据。在数据的过程中,GridView控件会根据每列的义自动将数据显示在网页上。 除了以上三个基本步骤,GridView控件还提供了一些高级功能,如分页、排序、编辑、删除等,可以通过相应的属性和方法来使用。 需要注意的是,在网页开发中,数据是一个非常常见的操作,因此要充分了解各种数据的方式和技巧,能够高效地完成网页的开发工作。同时,为了提高用户体验和性能,还需要注意缓存、分页和异步刷新等相关技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值