在《 .net中将DataGridView内的数据导出为Excel表格》中说了如何导出数据到Excel,今天这篇文章将讲述如何绑定数据源,在控件中显示我们需要的信息.

在敲机房收费系统的时候,我的主线都是从三层到数据库,然后从数据库中返回直至U层。如果是这样的处理方式,和DataGridView打交道的都是DataTable。不过DataGridView也有可以直接和数据库连接,来与数据源绑定。

一 与之相关的组件BingSource

说到绑定,我们不得不提到BingSource.它是类库System.Window.Form命名空间内的类。MSDN中解释它的作用是封装窗体的数据源,并提供导航、筛选、排序和更新的功能。我们通常叫他为组件。BingSource组件有很多用途。首先,他是通过windows窗体控件与数据源之间提供流通管理、更改通知和其他服务简化了窗体上的控件到数据的绑定。这通过DataSource属性将BingSource组件附加到数据源来实现。对于复杂的绑定方案,可以选择将DataMember属性设置为数据源中特定列或列表。然后将控件绑定到BingSource。有没有发现,BingSource组件就是一个中间枢纽,他管理这控件和数据源之间数据的传输。

二 具体操作步骤

1连接数据源

根据出现的提示选择自己需要的数据源

点击完成后会在设计处出现三个组件如下图所示:

上面的这三个组件就是我们在查询数据库时经常用到的DateSet和TableAdapter,一个是缓存数据的地方,一个是通信机制。TableAdapter 通过对数据库执行 SQL 语句和存储过程来提供应用程序和数据库之间的通信。除 DataAdapter 的标准功能外,TableAdapter 还提供其他查询,这些查询与关联类型化 DataTable 共享通用架构。TableAdapter 将返回数据加载到它在应用程序中的关联数据表中,或返回已用数据填充的新数据表。

在这三个组件中大家可以添加查询,写一些查询语句。

如果你的查询条件是来自窗体中的控件中的内容那么就可以用参数代替具体的条件比如:查询语句为

SELECT * from  T_Card  where Sex=@Sex (查询T_Card 中性别等于@Sex的信息 )

在窗体中就会出现如下控件,在窗体中就会出现如下代码:

窗体加载方法下:

'TODO: 这行代码将数据加载到表“ChargeDataSet8.T_Student”中。您可以根据需要移动或删除它。
        Me.T_StudentTableAdapter.Fill(Me.ChargeDataSet8.T_Student)

单击FillBy 控件就会添加SexToolStripTextBox.Text的内容为条件的查询。它就是我们查询语句中的参数@Sex的值。

Private Sub FillByToolStripButton_Click(sender As Object, e As EventArgs) Handles FillByToolStripButton.Click
        Try
            Me.T_StudentTableAdapter.FillBy(Me.ChargeDataSet8.T_Student, SexToolStripTextBox.Text)
        Catch ex As System.Exception
            System.Windows.Forms.MessageBox.Show(ex.Message)
        End Try

End Sub

通过这些代码和控件,我们可以根据自己的需要将里面的代码或控件换成自己需要的就可以了,方便快捷。

2设置表格

三 补充:

在使用TableAdapter的时候,会发现他有两种方法:Fill和FillBy,他们有什么区别呢?

下面的这张图很能说明问题:

Fill定义了TableAdaper的方法,而FillBy则是具体的去实现这个Fill的方法。

上面说的这些只是数据绑定的一小部分内容,还有很多宝藏等待大家挖掘。

vb.net中将DataGridView与数据源绑定的更多相关文章

  1. C#窗体:关于DataGridView的数据源绑定字符串两个值得注意的问题

    无意间遇到的问题,然后就GOOGLE了下,搜到些资料,总结整理如下(注:是转载的) 1. LINQ的查询结果无法直接作为DataGridView的数据源 DataGridView的DataSource ...

  2. C#中数据源绑定DataSource以及相关控件(DataGridView)的使用总结

    我们在编程过程中,会涉及到表格数据的显示,存储等,就可能涉及到DataGridView,DataSource, DataTable等概念. 下面我就我自己模糊的一些知识点串讲以下: 1)首先我要讲的是 ...

  3. [置顶] DataGridView控件---绑定数据方法

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

  4. Spring Boot + Druid 多数据源绑定

    date: 2019-12-19 14:40:00 updated: 2019-12-19 15:10:00 Spring Boot + Druid 多数据源绑定 版本环境:Spring Boot 2 ...

  5. 使用DataContext和ItemsSource将数据源绑定到ListView上的区别

    在最近的一个项目中,将DataView类型的数据源绑定到ListView控件时,发现当DataView的内容发生变化时,前台的ListView控件的内容并没有发生改变,在这里我先贴出前台要绑定数据源的 ...

  6. GridView绑定数据源 绑定DataReader /DataSet /DataTable

    有一个GridView1 <asp:GridView ID="GridView1" runat="server"></asp:GridView ...

  7. iNeuOS工业互联网操作系统,增加搜索应用、多数据源绑定、视图背景设置颜色、多级别文件夹、组合及拆分图元

    目       录 1.      概述... 2 2.      搜索应用... 2 3.      多数据源绑定... 3 4.      视图背景设置颜色... 4 5.      多级别文件夹 ...

  8. DataGridVIew控件绑定数据之后的,增、插、删操作

    最开始没有绑定数据,很快就实现了增.插.删操作,可是绑定数据之后,进行这些操作就会报错. 网上对这方面的资料比较少,自己摸索着找到了解决方法,也就是直接对绑定的数据进行操作,这里以DataTable为 ...

  9. DataGridView控件绑定数据源

    前言: 近期听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了 ...

随机推荐

  1. Scrapy 笔记(三)

    摘抄自Python 一.随机user-agent 的设置 关于配置和代码 这里我找了一个之前写好的爬虫,然后实现随机更换User-Agent,在settings配置文件如下: DOWNLOADER_M ...

  2. vue 阻止事件冒泡

    <mt-button type="danger" size="small"  @click="cancelOrderInfo(this.even ...

  3. Java switch case和数组

    Java switch case 语句 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch case 语句格式: switch(express ...

  4. brpc初探

    因为最近在看一个内部开源代码,看到了braft.braft又依赖于brpc.于是就看了相关的文档,打算接下来试一把. 这里引用下gejun大佬在知乎上的回答(https://www.zhihu.com ...

  5. MySQL笔记(五)之表的连接

    MySql数据库中表的连接一共有如下几种 INNER JOIN 内连接 语法: SELECT column_name(s) FROM table_name1 INNER JOIN table_name ...

  6. 【BZOJ 1398】 1398: Vijos1382寻找主人 Necklace (最小表示法)

    1398: Vijos1382寻找主人 Necklace Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 308  Solved: 129 Descrip ...

  7. SEL和IMP

    http://www.jianshu.com/p/4a09d5ebdc2c SEL : 类成员方法的指针,但不同于C语言中的函数指针,函数指针直接保存了方法的地址,但SEL只是方法编号. IMP:一个 ...

  8. [CSAcademy]Squared Ends

    [CSAcademy]Squared Ends 题目大意: 给你一个长度为\(n(n\le10^4)\)的数列\(\{A_i\}(A_i\le10^6)\).定义区间\(A_{[l,r]}\)的代价为 ...

  9. hdu 2709 递推

    题意:给出一个数,把他拆成2^n和的形式,问有多少种拆法 链接:点我 对6进行分析 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 4 2 2 4 2 4 对最上面4个,显然是由4 ...

  10. python开发_常用的python模块及安装方法

    adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctype ...