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. Accord.Net中决策树

    Accord.Net中决策树 决策树介绍 决策树是一类机器学习算法,可以实现对数据集的分类.预测等.具体请阅读我另一篇博客(http://www.cnblogs.com/twocold/p/54245 ...

  2. poj3678(two-sat)

    传送门:Katu Puzzl 题意:n个点,点的取值可以是0或者1.m条边,有权值,有运算方式(并,或,异或),要求和这条边相连的两个点经过边上的运算后的结果是边的权值.问你有没有可能把每个点赋值满足 ...

  3. poj3207(two-sat)

    传送门:Ikki's Story IV - Panda's Trick 题意:给定一个圆,圆上一些点.两点一线.现给出一些线,这些线可以在圆内连起来,也可以在圆外.问有没有可能所有的线画完且不出现相交 ...

  4. hdu-4833-Best-Financing(DP)

    Best Financing Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. 微通道对接ERP、CRM、OA、HR、SCM、PLM和其他管理系统解决方案

    公司现有ERP.CRM.OA.HR.SCM.PLM等管理系统的对接微信公共平台服务 方法1:开放接口 企业开放现有系统数据接口给第三方,或由第三方开发数据接口对接微信公众平台 方法2:获取数据库 企业 ...

  6. linux查看某个进程CPU消耗较高的具体线程或程序的方法

      目前我们的监控,可以发现消耗较高CPU的进程(阀值为3个CPU),通过监控我们可以找到消耗较高CPU的进程号: 通过进程号pid,我们在linux上可以通过top –H –p <pid> ...

  7. apache2.4.4启用deflate压缩

    今天在看<高性能php应用开发>这本书,说道如何启用mod_deflate: 启用如下模块: LoadModule deflate_module modules/mod_deflate.s ...

  8. Android开发ListView使用OnScrollListener实现分页加载数据

    上篇博文和大家分享了下拉刷新,这是一个用户体验很好的操作方式.新浪微薄就是使用这样的方式的典型. 还有个问题,当用户从网络上读取微薄的时候.假设一下子所有载入用户未读的微薄这将耗费比較长的时间,造成不 ...

  9. 怎么做fastreport使用离线数据源

    近期使用做项目发现fastreport使用在线数据源.紧密耦合的数据库连接字符串.在部署稍加注意.easy错误.因此,是否想到脱机使用的数据源. 官方参考: watermark/2/text/aHR0 ...

  10. Spring Bean的作用域(转)

    Spring Bean的作用域 .singleton  [单例] eg:<bean id="personService" class="com.yinger.ser ...