zoukankan      html  css  js  c++  java
  • DataGridView显示数据的两种方法

    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日期间的数据,通过写代码尽管貌似繁琐,可是显示结果一目了然,避免了我们从大量数据中寻找我们须要的数据,大大提高了效率。

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

  • 相关阅读:
    简便的将DataSet导入到数据库中
    数据类型的小小研究:Access与SQL Server的数据类型
    【jxust acm 20120708】
    【D ECJTU_ACM 11级队员2012年暑假训练赛(2)】
    【hdu 2101 A + B Problem Too】
    【hdu 1014】
    【hdu 1164 Eddy's research I】
    【开始,安全编程】
    【hdu 1285 确定比赛名次】
    【hdu 1163 Eddy's digital Roots 】
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4006951.html
Copyright © 2011-2022 走看看