在.NET版本不同的情况下,可能会遇到dataGrid与dataGridView数据绑定的问题:

若.NET 2.0版本绑定数据方式:

DataSet ds=new DataSet();
this.dataGridView1.SetDataBinding(ds, "profit");

若.NET4.0以上版本绑定数据方式:

DataSet ds=new DataSet();this.dataGridView1.DataSource=ds;this.dataGridView1.DataMember="表名";//必须要设置DataMember属性,指定要绑定到DataSet中的哪张表

使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据。

将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可。在绑定到包含多个列表或表的数据源时,只需将DataMember属性设置为指定要绑定的列表或表的字符串即可。

一、非绑定模式

所谓的非绑定模式就是DataGridView控件显示的数据不是来自于绑定的数据源,而是可以通过代码手动将数据填充到DataGridView控件中,这样就为DataGridView控件增加了很大的灵活性。我们先来了解一下DataGridView控件有多种类型的列,而这些类型都是间接的或直接的继承了DataGridViewColumns累,下面是我们能够经常用到的几种类型:

说明
DataGridViewTextBoxColumn 与基于文本的值一起使用,在绑定到数字和字符串类型的值时自动生成
DataGridViewCheckBoxColumn 与boolean和checkState值一起使用,在绑定到这些类型的值时自动生成
DataGridViewImageColumn 用于显示图像,在绑定到字节数组、Image对象或Icon对象自动生成
DataGridViewButtonColumn 用于在单元格中显示按钮,不会在绑定时自动生成,通常用来做未绑定列
DataGridViewComboBoxColumn 用户在单元格中显示下拉列表,不会在绑定时自动生成,通常需要手动进行数据绑定
DataGridViewLinkColumn 用于在单元格中显示超链接,不会在绑定时自动生成,通常需要进行手动绑定数据

二、绑定模式

就是将已经存在的数据绑定到DataGridView控件上。将数据绑定到DataGridView控件上非常简单和直观,在大多数情况下,只需设置DataSource属性即可。在绑定到包含多个列表或表的数据源时,只需将DataMember属性设置为指定要绑定的列表或表的字符串即可。

DataGridView控件支持标准Windows窗体数据绑定模型,因此该控件将绑定到下表所述的类的实例:

1、任何实现IList接口的类,包括一维数组。

2、任何实现IListSource接口的类,例如DataTable和DataSet。

3、任何实现IBindingList接口的类,例如BindingList(Of T)类。

4、任何实现IBindingListView接口的类,例如BindingSource类。

通常绑定到BindingSource组件,并将BindingSource组件绑定到其他数据源或使用业务对象填充该组件。BindingSource组件为首选数据源,因为该组件可以绑定到各种数据源,并可以自动解决许多数据绑定问题。

DataGridView绑定数据源的几种方式:

第一种:

DataSet ds=new DataSet();this.dataGridView1.DataSource=ds.Tables[0];

第二种:

DataTable dt=new DataTable();this.dataGridView1.DataSource=dt;

第三种:

DataSet ds=new DataSet();this.dataGridView1.DataSource=ds.Tables["表名"];

第四种:

DataSet ds=new DataSet();this.dataGridView1.DataSource=ds;this.dataGridView1.DataMember="表名";//必须要设置DataMember属性,指定要绑定到DataSet中的哪张表

第五种:

ArrayList al=new ArrayList();this.dataGridView1.DataSource=al;

第六种:

Dictionary<string,string> dict=new Dictionary<string,string>();this.dataGridView1.DataSource=dict;

第七种:可以排序

DataView dv=new DataView();this.dataGridView1.DataSource=dv;

参考:

DataGridView控件用法一:数据绑定

C# dataGrid控件与dataGridView控件数据框绑方式相关推荐

  1. c#如何实现在datagridview中加入时间控件、numericupanddown控件

    由于时间原因,再加之自己懒惰!好久没写博客了,今天写一篇关于datagridview中如何实现时间控件的文章,算是继续自己的记录的习惯! 首先,我们知道datagridview中并不提供控件,因此,我 ...

  2. C# 在DataGridView中,点击单元格调出 TreeView控件 或 ListBox控件

    1.调出 TreeView控件 或  ListBox控件 private void deductGrid1_CellClick(object sender, DataGridViewCellEvent ...

  3. ASP.NET 3.5中的ListView控件和DataPager控件(一)

    介绍 今天,我花了几个小时的时间研究了一下ASP.NET 3.5中的ListView控件和DataPager控件. 这两个控件是ASP.NET中新增的.非常受欢迎的控件. ListView控件集成了D ...

  4. 【转贴】ASP.NET 3.5中的ListView控件和DataPager控件

    作者:Rick Strahl  翻译:webabcd 原文地址:http://www.west-wind.com/WebLog/posts/127340.aspx 译文地址:http://www.cn ...

  5. asp.net中HTML控件和web控件的简单理解

    前言 在学习视频的时候,讲解者一会儿使用HTML控件,一会儿使用web控件,有一种很迷糊的感觉,他俩到底有什么区别呢,作为一个初学者,有必要分析一下. 概念 HTML控件是客户端控件,响应客户端事件, ...

  6. 【Asp.net】——Web控件与HTML控件的区别

    在看Asp.net视频的过程中,遇到对控件的一些解释,通过查询资料,简单的说说这二者的区别. 控件位置 在VS中,HTML控件位置在: Web控件位置: 控件样式 HTML控件: 除了几个特殊的控件: ...

  7. WPF查找子控件和父控件方法

    原文:WPF查找子控件和父控件方法 public List<T> GetChildObjects<T>(DependencyObject obj, string name) w ...

  8. asp.net学习之 数据绑定控件--List数据绑定控件

    List控件(如 CheckBoxList.DropDownList.ListBox 和 RadioButtonList 类)继承自ListControl类,不能直接创建 ListControl 抽象 ...

  9. 如何扩大控件的触控响应区域

    2019独角兽企业重金招聘Python工程师标准>>> 最近在做一个相当奇葩的需求:扩大控件的触控区域,不改变控件大小. 从一个大牛同事那学了一个方法,可惜只能用于父控件内只有一个子 ...

最新文章

  1. bzoj 3505: [Cqoi2014]数三角形
  2. vim配置@year12
  3. MAC下安装多版本JDK和切换几种方式
  4. [C#]手把手教你打造Socket的TCP通讯连接(一)
  5. python下载安装搭建
  6. pythonista3使用说明_Pythonista中文文档:sound
  7. C及opencv指针释放问题
  8. 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(安装TensorFlow2.0)
  9. sql statements_Postgresql监控sql模块之pg_stat_statements模块--部署篇
  10. 用python绘制心形_python小趣味_520绘制一个心形.
  11. DreamFactory入门指南 - 第2章安装和配置DreamFactory
  12. sprintf()--字串格式化命令
  13. mysql删除表崩溃_MySQL在删除表时I/O错误原因分析
  14. python教材答案第四章_python核心编程课后习题解答第四章
  15. STM32之输入捕获
  16. 解析函數論 Page 28 連續復變函數的最簡單的性質
  17. k8s学习笔记-环境搭建篇
  18. fastjson 序列化 不包括转义字符_fastjson漏洞复现
  19. RHadoop实践系列文章
  20. linux服务器安装字体,删除字体,详细步骤

热门文章

  1. RabbitMQ原理
  2. 数据分析之蒙特卡洛模拟
  3. 妖神记服务器维护中,《妖神记》嘉月测试进行时 诚意征求玩家反馈
  4. 微信小程序之在线任务发布与接单平台(3)
  5. PPPOE拨号详解——保活,断链
  6. 计算机网络 --- IP
  7. 微信小程序全局监听globalData的某个属性变化
  8. 用python画小人_使用Python画出小人发射爱心的代码
  9. 易机网开启二手手机回收市场“高铁时代”
  10. 换新衣服了捏...^^