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. hdu4602(矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4602 题意:对于每个数的分解,列出其元素的出现的个数. 1    2   3    4    5 1  ...

  2. fzu2150(bfs)

    题目链接:http://acm.fzu.edu.cn/problem.php?pid=2150 题意:在任意两处点火,求最短时间烧光所有草堆. 分析:由于n,m比较小,将所有草堆坐标记录下来,然后暴力 ...

  3. Eclipse 改动凝视的 date time 日期时间格式,即${date}变量格式

    Eclipse 改动凝视的 date time 日期时间格式,即${date}变量格式 找到eclipse安装文件夹以下的plugins文件夹,搜索 org.eclipse.text ,找到一个jar ...

  4. 用java代码实现环圈报数

    环圈报数就是围一圈人,每一次数数数到三的人自动出圈,再接着数, 用数据结构的思想实现 public class Count3Quit {     public static void main(Str ...

  5. hdu1159 LCS模板题

    题目分析 pid=1159">原题地址 最简单的最长公共子序列(LCS)问题的模板题了.不解释. ------------------------------------------- ...

  6. C/S与B/S谁与争锋之我见

    看到网上有些人在讨论C/S架构和B/S架构以及它们的发展趋势,后起之秀B/S是否真将取代C/S而存在?在发表我的观点之前,我们先来一起来回顾下C/S以及B/S. 一C/S 1.C/S概念 C/S是Cl ...

  7. 在centos上部署java WEB环境

    题语:偷得浮生半日闲,趁着十一期间,好好的写写随笔来记录自己所学.所践和所得,不足之处,欢迎各位拍砖~~~ 工具:Xftp 5.Xshell 5 一.安装jdk  1. 使用Xftp 5把jdk-8u ...

  8. POJ2239_Selecting Courses(二分图最大匹配)

    解题报告 http://blog.csdn.net/juncoder/article/details/38154699 题目传送门 题意: 每天有12节课.一周上7天,一门课在一周有多天上课. 求一周 ...

  9. 鸽巢原理应用-分糖果 POJ 3370 Halloween treats

    基本原理:n+1只鸽子飞回n个鸽笼至少有一个鸽笼含有不少于2只的鸽子. 很简单,应用却也很多,很巧妙,看例题: Description Every year there is the same pro ...

  10. Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍

    原文 Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍 前言 不同于iOS,Xamarin 在Visual Studio中针对Android,可以直接设 ...