zoukankan      html  css  js  c++  java
  • [置顶] DataGridView控件---绑定数据方法

        

        DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增、删、改操作。今天将自己总结的增加数据的方法总结分享给大家

     

       关于DataGridView的一些属性介绍大家可以参照百度百科,我在这里主要写如何用两种方法去实现绑定数据


    1.非绑定模式 


    所谓的非绑定模式就是dataGridView控件显示的数据不是来自于绑定的数据源,而是可以通过代码手动将数据填充到DataGridView控件中,这样就为DataGridView控件增加了很大的灵活性

    在此我们先来了解一下DataGridView控件有多种类型的列,而这些类型都是间接的或直接的继承了DataGridViewColumns()     ,下面是我们能够长用的几种类型

    说明

    DataGridViewTextBoxColumn

    与基于文本的值一起使用,在绑定到数字和字符串类型的值时自动生成

    DataGridViewCheckBoxColumn

    booleancheckState值一起使用,在绑定到这些类型的值时自动生成

    DataGridViewImageColumn

    用于显示图像,在绑定到字节数组、Image对象或Icon对象自动生成

    DataGridViewButtonColumn

    用于在单元格中显示按钮,不会在绑定时自动生成,通常用来做未绑定列

    DataGridViewComboBoxColumn

    用户在单元格中显示下拉列表,不会在绑定时自动生成,通常收到进行数据绑定

    DataGridViewLinkColumn

    用于在单元格中显示超链接,不会在绑定时自动生成,通常需要进行手动绑定数据

    了解了这些看下面的例子 

     

            '创建一个显示textBox的列()
            Dim col1 As DataGridViewTextBoxColumn =New DataGridViewTextBoxColumn()
            col1.Name = "Name"
           col1.HeaderText = "姓名" '设置标题中显示的文本
          
           Dim col3 As DataGridViewTextBoxColumn = NewDataGridViewTextBoxColumn()
            col3.Name = "sex"
           col3.HeaderText = "性别"
          
           '将新建的列添加到控件中
            DataGridView1.Columns.Add(col1)
            DataGridView1.Columns.Add(col3)
     
            '添加行
            '创建新行 
            Dim row As DataGridViewRow = NewDataGridViewRow()
            row.CreateCells(DataGridView1)
            '设置单元格的值
           row.Cells(0).Value = "张三"
           row.Cells(1).Value = "男"
            DataGridView1.Rows.Add(row)
            '添加第二行
          Dim row1 As String() = {"李四", "男"}
            DataGridView1.Rows.Add(row1)

     

    另外对于添加标题列也可以不用代码添加,而是通过手动添加列  操作步骤如下


    1,点击DataGridView控件  就可以看到一个小三角,点击小三角弹出菜单  选择编辑列如下所示

    编辑列:


    同时也可以修改列的属性


     

    2 绑定模式

     

    将存在的数据绑定到控件上,  我是将数据库表中的数据绑定到控件上  ,我将用户表中的用户名,密码,开户人信息绑定到控件上,具体步骤如下  我在在窗体的Load事件下来完成这些步骤的 

     

     

     参考代码: 
     
       '连接数据库
            Dim cnStr As String = "PersistSecurity Info=False;User ID=sa;Initial Catalog=studentSystem;DataSource=192.168.24.74;pwd=123456"
            Dim cn As SqlConnection = NewSqlConnection(cnStr)
            cn.Open() '打开数据库
            Dim sql AsString = "select U_ID as 用户名 ,U_passwordas 密码,U_head as 开户人 from T_user"
            Dim cmd As SqlCommand = NewSqlCommand(sql, cn)
     
            Dim da As SqlDataAdapter = NewSqlDataAdapter()
            da.SelectCommand = cmd
     
            Dim ds As DataSet = New DataSet()
            da.Fill(ds,"T_user") '填充数据集
            '绑定数据集
            DataGridView1.DataSource = ds
            DataGridView1.DataMember ="T_user"


    运行效果图 

     

      此中运行效果和非绑定模式下显示的相同,但方法却截然不同,而我在添加标题列时是利用的SQL语句实现的

      Dim sql As String ="select U_ID as 用户名 ,U_password as 密码,U_head as 开户人 from T_user" 对于这一部分,我们也可以通过不同的代码来实现它  具体代码和上述区别在于  SQL语句处Dim sql As String = "select U_ID ,U_password,U_head  from T_user"  这样写,在绑定好了数据集后在设定标题列  代码如下:

     

     

     '设置标题第0列
           DataGridView1.Columns(0).HeaderText = "用户名"
            '冻结标题  也就是标题不会随着数据的移动而消失
            DataGridView1.Columns(0).Frozen = True
            '添加第一列标题
           DataGridView1.Columns(1).HeaderText = "姓名"
            DataGridView1.Columns(1).Frozen = True
            '设置第二列标题
           DataGridView1.Columns(2).HeaderText = "开户人"
            DataGridView1.Columns(2).Frozen = True


    这样编写和我们在SQL语句中就定义标题列的效果是一样的

     

     

    以上就是我在利用DataGridView控件绑定数据所尝试的两种方法!关于DataGridView控件的其他使用方法会在下面的博客中发表,欢迎指正  

  • 相关阅读:
    [导入]动态内存管理
    再看一个直播帖子,一个上午混没了
    这个帖子不错
    基于STM32 8通道ADC采样实现源代码(转) 以后设计参考使用
    天气基本恢复正常,可以玩了
    开始学习了
    安静的看了2天书
    慎度职场“35危机”
    书买了,估计这个星期就到了
    C语言循环的小艺术(转)
  • 原文地址:https://www.cnblogs.com/riskyer/p/3223806.html
Copyright © 2011-2022 走看看