1.简介

DataGridView空间是我们经常使用的显示数据的控件,它有极高的可配置性和可扩展性。

2.显示数据

DataGridView显示数据一般我们经常使用的有两种方法,一种是直接设置DataSoure属性就能够绑定数据。此方法不须要写不论什么代码操作比較简单,可是它显示出来的是整张表的数据。假设整一表数据比較多,并且我们并不须要全部的数据的情况下,我们就应该考虑另外一种方法了。通过写代码连接数据库并从数据库中读取数据,最后将返回的数据传给DataGridView。这样的方法貌似比較复杂,可是它仅仅显示我们须要的数据,相比成千上万的数据,效率法尔明显提高了。

以下就简介一下这两种方法:

第一种通过属性设置

首先在属性窗体找到DataSource属性,点击下拉框。第一次用,曾经每加入过的话,点击加入数据源

 
                             

选择数据类型,下一步,选择数据集,下一步

 
       

选择数据连接,点新建连接

在加入链接对话框中更改数据源(我用的SQL Server数据库),点击下拉框选择server名称(点号默觉得自己的server)。然后在以下连接到数据处选择数据库,測试链接通过的话,点确定。这时又回到数据配置向导,点下一步就能够在数据库中选择你要显示的表了。

 
 

加入完毕后,执行窗口数据就显示出来了

另外一种方法就是通过写代码载入数据

<span style="font-family:KaiTi_GB2312;font-size:18px;">    '定义一个函数查找规定日期内的收取金额
Public Function check_money(ByVal tstRecharge As Model.RechargeModel) As DataTable
Dim strSQL As String = "select * from Recharge_info where rechargeDateTime between @startdatetime and @enddatetime"
Dim params As SqlParameter() = {New SqlParameter("@startdatetime", tstRecharge.start_datetime), New SqlParameter("@enddatetime", tstRecharge.end_datetime)}
Dim helper As New SqlHelper
Dim dat = helper.GetDataTable(strSQL, CommandType.Text, params) '调用sqlhelper
Return dat '返回查到的数据表
End Function</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"> Dim db As New DAL.CkeckMoneyDAL '定义一个D层对象,用来调用D层函数

    '定义一个函数,用来检查D层查找金额返回的数据
Public Function check_return(model As Model.RechargeModel) As DataTable
Dim dat = db.check_money(model)
If dat.Rows.Count = 0 Then '检查D层返回的数据表中是否有数据
Return Nothing
Else
Return dat
End If
End Function</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"> Dim thisRecharge As New Model.RechargeModel '定义一个实体层对象,用来接收起止时间
thisRecharge.start_datetime = DateTimePicker1.Text
thisRecharge.end_datetime = DateTimePicker2.Text
Dim ub As New BLL.CheckMoneyBLL '定义一个B层对象,用来调用B层函数
If ub.check_return(thisRecharge) Is Nothing Then
MsgBox("该时间段内没有记录,请又一次设置时间段!", MsgBoxStyle.Exclamation, vbOKOnly)
Else
dvwTitles.DataSource = ub.check_return(thisRecharge) '把查到的数据传给datagridview
End If</span>

显示结果:

两种方法各有优缺点,我们须要依据自己的实际情况选择使用。当我们仅仅须要显示整张表的数据或者表中数据不多的情况下,第一种方法最简单只是来,不须要写不论什么代码。假设我们希望数据有选择性的显示,比方上图中就仅仅显示6月18日到6月20日期间的数据,通过写代码尽管貌似繁琐,可是显示结果一目了然,避免了我们从大量数据中寻找我们须要的数据,大大提高了效率。

学习的道路上没有捷径,可是总有那么一条会更适合你……

DataGridView显示数据的两种方法的更多相关文章

  1. SQLServer 批量插入数据的两种方法

    SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...

  2. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

  3. php获取数组中重复数据的两种方法

    分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...

  4. Java构造和解析Json数据的两种方法详解二——org.json

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...

  5. Java构造和解析Json数据的两种方法详解一——json-lib

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多JAVA下的jso ...

  6. Python 使用 xlwings 往 excel中写入一列数据的两种方法

    1.准备一个二维列表,然后再range后面不指定任何选项,可以输出该二维列表中数据在一列中显示,如下代码: # -*- coding:utf-8 -*- import xlwings as xw li ...

  7. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  8. Java多线程初学者指南(8):从线程返回数据的两种方法

    从线程中返回数据和向线程传递数据类似.也可以通过类成员以及回调函数来返回数据.但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪. 一.通过类变量和方法返回数据 使用这种方法返回数 ...

  9. MySQL中删除数据的两种方法

    转自:http://blog.csdn.net/apache6/article/details/2778878 1. 在MySQL中有两种方法可以删除数据: 一种是delete语句,另一种是trunc ...

随机推荐

  1. VSTO学习笔记(七)基于WPF的Excel分析、转换小程序

    原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...

  2. oschina Web应用开发

    Web应用开发 SPDY开发包(13) HTML5开发相关(105) Pjax相关项目(4) 网站API(93) REST/RESTful项目(72) 响应式 Web 框架(27) 微信相关软件(63 ...

  3. 内存级别/栅栏 ( Memory Barriers / Fences ) – 翻译

    翻译自:Martin Thompson – Memory Barriers/Fences 在这篇文章里,我将讨论并发编程里最基础的技术–以内存关卡或栅栏著称.那让进程内的内存状态对其它进程可见. CP ...

  4. bash学习之环境变量

    1.查看系统存在的环境变量env 和 export env命令:查看环境变量 [CJP@CJP ~]$ env HOSTNAME=CJP SHELL=/bin/bash HISTSIZE=1000 U ...

  5. poj3278(bfs)

    题目链接:http://poj.org/problem?id=3278 分析:广搜,每次三种情况枚举一下,太水不多说了. #include <cstdio> #include <cs ...

  6. HDU 3217 Health(状压DP)

    Problem Description Unfortunately YY gets ill, but he does not want to go to hospital. His girlfrien ...

  7. SE 2014年5月8日

    两企业接入到 Internet(A公司和B公司),企业内部的用户及服务器均能够访问到 Internet. 2. A公司规模较大,采用了接入层/汇聚层/核心层的划分模式,接入层划分了多vLan(如图), ...

  8. Date和String类型的相互转换

    String转Date: SimpleDateFormat bartDateFormat = new SimpleDateFormat("MM-dd-yyyy"); String ...

  9. Unity MVC框架 StrangeIoC

    StrangeIoC是一个超轻量级和高度可扩展的控制反转(IoC)框架,专门为C#和Unity编写. 项目地址:https://github.com/strangeioc/strangeioc 文档地 ...

  10. Linux------创建和终止进程

    创建进程: Linux创建两个步骤的新处理:fork()和exec().其中fork创建当前进程的能力(父进程)副本,那个孩子.父子进程只有PID不同.在这之后,该系统具有两个进程,运行相同的操作.父 ...