DataGridView控件可谓是Winform开发的重点控件,对于数据的呈现和操作非常方便,DataGridView可谓是既简单又复杂。简单在于其已经集成了很多方法,复杂在于可以使用其实现复杂的数据呈现和操作。

本文是入门级培训,先介绍DataGridView的简单应用,复杂的应用在后续的博文中会一一呈上。

DataGridView主要是呈现数据和数据操作的,那自然离不开数据。

首先是数据绑定,DataGridView的数据源可以是DataSet、DataTable或Ilist等,至于DataSet、DataTable和Ilist是什么东东,后续介绍或者猿们可以在网上自己找找。

1、先介绍一个最简单的VS集成的,不需要写一行代码就可以搞定的数据绑定,以下按照贴图操作就可以了

当然是在窗体上先放一个DataGridView,然后右侧有个箭头,点一下选择数据源,直接添加一个项目数据源

这里的话,如果没有数据链接,就需要新建一个数据链接了

选一个需要在DataGridview里面显示的表和表字段即可,完成后我们会看到窗体、窗体代码和解决方案里面多了一些东西

窗体下方会出现这样的三个东东

private void Form1_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“testDataSet.Student”中。您可以根据需要移动或删除它。
this.studentTableAdapter.Fill(this.testDataSet.Student); }

窗体代码里会出现这样的一段代码

解决方案目录里会出现一个DataSet,其实这个DataSet就是winform为我们自动封装的数据集,双击一下看看

对了,就是这个东东,封装了Student表,当然还提供了一个TableAdapter的GetData方法。

好了,自动绑定数据就完成了,运行一下看看效果

就是这么简单,不用写一行代码,当然表的列名需要再修改一下,改成中文的了,还是DataGridView右侧箭头,编辑列弹出对话框

选中左侧的列,修改列的HeaderText就可以了,我们还可以看到一个属性DataPropertyName,这个就是对应数据源里面的字段名。以后如果是写代码绑定数据,就需要指定这个属性了,可以在这里指定也可以在代码里指定。

当然这种做法是最简单方便的,但是在实际的程序开发里面使用的比较少了。

从上图中,我们还可以看到一个重要的属性ColumnType,这个是什么尼?就是DataGridView的列显示的数据类型,有下面几种类型,这里介绍一哈

说明

DataGridViewTextBoxColumn

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

DataGridViewCheckBoxColumn

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

DataGridViewImageColumn

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

DataGridViewButtonColumn

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

DataGridViewComboBoxColumn

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

DataGridViewLinkColumn

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

根据我们在列里面需要显示的形式进行选择即可。

Winform开发常用控件之DataGridView的简单数据绑定——自动绑定的更多相关文章

  1. Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

    前文介绍了Winform为DataGridView提供的数据自动绑定功能,下面介绍一下采用代码的数据绑定 1.用DataSet和DataTable为DataGridView提供数据源 先上代码 pri ...

  2. Winform开发常用控件之Checkbox和CheckedListBox

    Winform的开发基本都是基于控件事件的,也就是事件驱动型的. 多选框的放置和值的获取有很多种,这里介绍几个简单常用的方法 1.直接放置Checkbox,并获取Checkbox的值 上图 做法也非常 ...

  3. Winform开发常用控件之TreeView菜单导航和权限用法

    TreeView一个很棒的控件,我们在做WEB开发时常常犯困的一个东东.当然这里介绍winform里面的用法唠. 先介绍几个属性吧,CheckBoxes设置为true的话树形节点前面会出现checkb ...

  4. Winform开发常用控件之ComboBox、ListBox

    ComboBox就是我们常见的下拉框,对于此类控件,我们最关心的当然是数据的绑定和选择值得获取. 首先介绍个属性DropDownStyle,如果不允许ComboBox输入值,只能选择,就选DropDo ...

  5. DevExpress winform XtraEditor常用控件

    最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...

  6. WinForm开发-界面控件到实体,实体到界面控件自动绑定

    在WinForm开发中,我们是不是为绑定界面控件的数据而每个控件每个控件的赋值?在保存修改时是不是也是每个控件每个控件的赋值到实体中?字段一多,那简直就是噩梦.有没有像Web中那样方便的方法直接就自动 ...

  7. C# Winform开发以及控件开发的需要注意的,被人问怕了,都是基础常识

    我是搞控件开发的,经常被人问,所以把一些问题记录了下来!如果有人再问,直接把地址丢给他看. 一. 经常会有人抱怨Winform界面闪烁,下面有几个方法可以尽可能的避免出现闪烁 1.控件的使用尽量以纯色 ...

  8. winform 自定义分页控件 及DataGridview数据绑定

    分页效果如上图所示,用到的控件均为基本控件 ,其方法如下 右击项目-添加-新建项 选择用户控件 然后在用户控件中拖入所需要的Label,Button,Text 用户控件全部代码: using Syst ...

  9. WPF常用控件样式( 内含一简单插件式开发示例)

    最近离职,离职前面的一份外派然后又外包的工作,总觉得不妥,之后外派的办个入职手续都一再失约,干脆推了.恰逢清明时节,暴雨纷纷,于是打算先休息休息调整下状态,工作的事情还是谨慎点的好,免得影响心情.话说 ...

随机推荐

  1. 【译】Using Objects to Organize Your Code

    耗了一个晚上吐血翻译不过也学到了不少...<使用对象来组织你的代码>,翻译中发现原作者在原文中有部分代码有误或不全,本文已修改和添加~ 丽贝卡·墨菲原文链接:http://rmurphey ...

  2. [py]函数小结

    函数作用域(函数前向引用) --> 嵌套(递归是一种个特殊的嵌套) --> 递归(回归,递归是一种特殊的迭代) --> 迭代 --> 生成器 --> 匿名函数 递归 一种 ...

  3. (转) 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...

  4. Red Hat Linux相关产品iso镜像下载

    Linux系统各发行版镜像下载(持续更新) http://www.linuxfly.org/post/659/ http://www.linuxidc.com/Linux/2007-09/7399.h ...

  5. Django组件补充(缓存,信号,序列化)

    Django组件补充(缓存,信号,序列化) Django的缓存机制 1.1 缓存介绍 1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑 ...

  6. 7.2 Models -- Defining Models

    一.概述 1. 模型是一个类,它定义了你呈现给用户的数据的属性和行为.用户希望如果他们离开你的应用程序,并返回后(或如果他们刷新页面)看到的任何东西应该被一个model代表. 2. 确保在ember. ...

  7. Django RF:学习笔记(8)——快速开始

    Django RF:学习笔记(8)——快速开始 安装配置 1.使用Pip安装Django REST Framework: pip install djangorestframework 2.在Sett ...

  8. map.containsKey

    该方法判断Map集合对象中是否包含指定的键名.如果Map集合中包含指定的键名,则返回true,否则返回false. 语法  containsKey(Object key) . e.g public s ...

  9. 《Java入门第二季》第一章 类和对象

    什么是类和对象 如何定义 Java 中的类 如何使用 Java 中的对象 Java中的成员变量和局部变量1.成员变量:在类中定义,描述构成对象的组件. 2.局部变量:在类的方法中,用于临时保存数据. ...

  10. git使用多个SSH公钥信息

    常常在开发环境存在多个git库,比如官方的github.公司搭建的gitlab.自己的私人库等等多个git库,为了方便使用,git需要配置多个SSH公钥信息. 在centos7.5下,进入用户目录,以 ...