在《 .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. 洛谷P2731 骑马修栅栏 [欧拉回路]

    题目传送门 骑马修栅栏 题目背景 Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. 题目描述 John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经 ...

  2. git clone https

    git clone 不需要输入密码步骤 1, vim ~/.git-credentials 2, git config --global credential.helper store 3, vim ...

  3. Eclipse项目红色叹号解决方法

    情况:就是项目出现红色感叹号 解决方法: 对准项目右键选择Build Path → configure build path 点击eclipse项目的configure build path后,在弹出 ...

  4. HashMap实现原理及常见问题

    1.简介 HashMap是基于哈希表的Map接口的实现,用来存放键值对(Entry<Key,Value>),并提供可选的映射操作.使用put(Key,Value)存储对象到HashMap中 ...

  5. nyoj 737 石子合并 经典区间 dp

    石子合并(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述     有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆 ...

  6. 【BZOJ 4027】 4027: [HEOI2015]兔子与樱花 (贪心)

    4027: [HEOI2015]兔子与樱花 Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号 ...

  7. [BZOJ4627][BeiJing2016]回转寿司(线段树)

    从左到右处理,设到当前数R的前缀和为cnt[i],则以i为右端点的合法的区间左端点j必然是L<=cnt[i]-cnt[j-1]<=R,即cnt[i]-R<=cnt[j-1]<= ...

  8. [Codeforces #514] Tutorial

    Link: Codeforces #514 传送门 很简单的一场比赛打崩了也是菜得令人无话可说…… D: 一眼二分,发现对于固定的半径和点,能包含该点的圆的圆心一定在一个区间内,求出区间判断即可 此题 ...

  9. Eclipse里选中一个变量后,这个类里的该变量不变色了?

    Eclipse里选一个变量后,这个类里的该变量不变色了. 1.使用“Alt+Shift+O”对该提示功能的开/关切换 2.可以在以下设置选中后的文本提示颜色  window--> Prefere ...

  10. Dubbo整合SpringCloud图片显示问题

    Dubbo整合SpringCloud图片显示问题 Tips:公司项目,记录一点经验吧,理解的不对的地方欢迎大神指点 问题:商品图片上传功能(公司没有专门文件服务器)写的保存目录直接是保存在docker ...