DataGridView显示数据的两种方法

1.简单介绍

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

2.显示数据

DataGridView显示数据一般我们常用的有两种方法,一种是直接设置DataSoure属性就可以绑定数据。此方法不需要写任何代码操作比较简单,但是它显示出来的是整张表的数据。如果整一表数据比较多,而且我们并不需要所有的数据的情况下,我们就应该考虑第二种方法了。通过写代码连接数据库并从数据库中读取数据,最后将返回的数据传给DataGridView。这种方法貌似比较复杂,但是它只显示我们需要的数据,相比成千上万的数据,效率法尔明显提高了。

下面就简单介绍一下这两种方法:

第一种通过属性设置

首先在属性窗口找到DataSource属性,点击下拉框。第一次用,以前每添加过的话,点击添加数据源

 
                             

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

 
       

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

在添加链接对话框中更改数据源(我用的SQL 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显示数据的两种方法,布布扣,bubuko.com

时间: 06-21

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

SQL Server 批量插入数据的两种方法

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). 运行下面的脚本,建立测试数据库和表值参数. [c-sharp] view plaincopy --Create DataBase create database BulkTestDB; go use BulkTes

MySQL中删除数据的两种方法

转自:http://blog.csdn.net/apache6/article/details/2778878 在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句. DELETE语句可以通过WHERE对要删除的记录进行选择.而使用TRUNCATE TABLE将删除表中的所有记录.因此,DELETE语句更灵活. 如果要清空表中的所有记录,可以使用下面的两种方法: DELETE FROM table1 TRUNCATE TABLE table1 其

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

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组

SQL Server 批量插入数据的两种方法(转)

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). 运行下面的脚本,建立测试数据库和表值参数. [c-sharp] view plaincopy --Create DataBase create database BulkTestDB; go use BulkTes

laravel创建新model数据的两种方法

laravel中的CRUD操作中,通过对代表数据表中row的model对象操作,来更新数据库表. 对于创建新的row的操作,有两种功能上相同的方法: 1.create: $user = User::create(array('email => '[email protected]','password'=>'mypassword')); 2.new and save $user = new User; $user->email = '[email protected]'; $user-&

修改表中数据的两种方法(update改)

1.通过点击按钮来执行修改表中数据.(数据库和表的创建不在详细介绍,请自动阅读数据库和表的创建) 第一种方法:直接使用SQL来操作数据库,调用execSQL(sql)语句 public class MainActivity extends AppCompatActivity { private Button mPudateButton; private MySqliteHelper mMySqliteHelper; private SQLiteDatabase db; @Override pro

删除表中数据的两种方法(delete删)

1.通过点击按钮来执行删除表中数据.(数据库和表的创建不在详细介绍,请自动阅读数据库和表的创建) 第一种方法:直接使用SQL来操作数据库,调用execSQL(sql)语句 public class MainActivity extends AppCompatActivity { private Button mDeleteButton; private MySqliteHelper mMySqliteHelper; private SQLiteDatabase db; @Override pro

查询表中数据的两种方法(select查)

1.通过点击按钮来执行查询表中数据.(数据库和表的创建不在详细介绍,请自动阅读数据库和表的创建) 第一种方法:直接使用SQL来操作数据库,调用execSQL(sql)语句 public class MainActivity extends AppCompatActivity { private Button mSelectButton; private MySqliteHelper mMySqliteHelper; private SQLiteDatabase db; @Override pro

C#多线程开发3:给线程传递数据的两种方法

定义需要传递给线程的数据. class Student { public string Name { get; set; } public int Age { get; set; } public int Score { get; set; } } List<Student> studentList = new List<Student>() { new Student(){Name="zhangsan",Age=20,Score=5}, new Student