在《 .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. fastadmin: layer.open 弹出层如何在表单提交之后自动关闭?

    需要在控制器对应的js文件中添加   Form.api.bindevent($("form[role=form]")); define(['jquery', 'bootstrap' ...

  2. 《java虚拟机》----虚拟机字节码执行引擎

    No1: 物理机的执行引擎是直接建立在处理器.硬件.指令集合操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格 ...

  3. Arduino可穿戴教程之第一个程序——连接硬件选择板子(二)

    Arduino可穿戴教程之第一个程序——连接硬件选择板子(二) 2.4.2  连接硬件 在选择好示例程序后就可以将LilyPad通过LilyPad编程器连接到电脑了. 2.4.3  选择板子 如果你了 ...

  4. FastReport.Net使用:[36]"续表"

    1. RepeatedBand的打印和子报表的使用. RepeatedBand实现方法:设置Band为每页重复.注意,从第二次打印开始,就是重复打印了.第一次打印不认为是RepeatedBand. 报 ...

  5. ubuntu16.04.2安装完后重启报错[sda] Assuming drive cache: write through

    原因:检测主机的物理连接线,发生问题时"已连接"未勾选,重启的时候找不到iso文件 解决办法:勾选"已连接",重启机器成功

  6. UVA11468 Substring --- AC自动机 + 概率DP

    UVA11468 Substring 题目描述: 给定一些子串T1...Tn 每次随机选择一个字符(概率会给出) 构造一个长为n的串S,求T1...Tn不是S的子串的概率 直接把T1...Tn建成AC ...

  7. Map之类的东西

    http://www.cnblogs.com/anywei/archive/2011/10/27/2226830.html http://blog.csdn.net/aqzwss/article/de ...

  8. ContentType组件,Django缓存机制,跨域请求

    ContentType组件 解决什么问题:表的id和数据id,来唯一确定一条数据 用: 插入数据: models:content_obj = GenericForeignKey('table_id', ...

  9. <form> 标签 // HTML 表单 // from 表单转换成json 格式

    <form> 标签   // HTML 表单    // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...

  10. 原来通过修改dns加快app store下载速度的确有效

    说来惭愧,这几天休假,并没有做什么技术上的修行.小伙伴推荐我一款avg游戏<11eyes 罪与罚与被诅咒的少女>,说是神作.但是app store上卖rmb118元,起初并没有什么兴趣去购 ...