在《 .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. 用三个线程循环输出ABC

    前两天看Java吧有人求助这个问题.想了想并不是很难.今天就顺手实现了一下. 我自己想到的有两种方法,一个是使用synchronized,一个是使用lock. 一.synchronized packa ...

  2. Codeforces 1051E Vasya and Big Integers&1051F The Shortest Statement

    1051E. Vasya and Big Integers 题意 给出三个大整数\(a,l,r\),定义\(a\)的一种合法的拆分为把\(a\)表示成若干个字符串首位相连,且每个字符串的大小在\(l, ...

  3. Redis 锁的实现方案

    开发中不可避免的是碰到并发请求,在数据严谨性的要求不高时,我们也不需要做什么处理,但如果碰到数据严谨性非常高的时候(例如:用户金额,秒杀产品的库存...),我们就需要慎重处理了. 解决方案多种多样,下 ...

  4. 【8.31校内测试】【找规律二分】【DP】【背包+spfa】

    打表出奇迹!表打出来发现了神奇的规律: 1 1 2 2 3 4 4 4 5 6 6 7 8 8 8 8 9 10 10 11 12 12 12 13 14 14 15 16 16 16 16 16.. ...

  5. [bzoj1016][JSOI2008]最小生成树计数 (Kruskal + Matrix Tree 定理)

    Description 现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的 ...

  6. hdu 1565 最小割

    黑白染色,源指向白,黑指向汇,容量都是方格中数的大小,相邻的格子白指向黑,容量为oo,然后求一次最小割. 这个割是一个简单割,如果只选择不在割中的点,那么一种割就和一个选数方案一一对应,割的大小就是不 ...

  7. poj 2528 Mayor's posters 线段树区间更新

    Mayor's posters Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://poj.org/problem?id=2528 Descript ...

  8. Swify闭包

    闭包:是字包含的匿名函数代码块,可以做为表达式.函数参数和函数返回值,闭包表达式的运算结果是一种函数类型.类似于 C# Lambda 表达式. 闭包表达式: {(参数列表)->返回类型 in 语 ...

  9. Xcode常用插件推荐

    1.Xcode插件管理工具–Alcatraz的安装 Alcatraz是针对Xcode的一款插件管理器,通过Alcatraz可以非常方便的管理插件,包括安装.删除.升级等操作. 官方网站 安装方法一(推 ...

  10. 关于warning: Clock skew detected. Your build may be incomplete. 的解决方法

    今天发现电脑的系统时间不对,因此将时钟进行了改动,回头编译Linux kernel的时候,提演示样例如以下的warning: warning:  Clock skew detected.  Your ...