WinForm程序用使用List对象绑定DataGridView数据源
1、 在用List<T>对象绑定DataGridView数据源属性的时候,数据源的内容不会动态更新,如果List<T>对象集合中的数据发生变化,那么数据控件的数据源是不会得到更新的。
一般也不建议用List<T>去填充数据显示控件的数据源。
如果一定要用List<T>对象去绑定数据源,那么首先设置DataGridView的DataSource属性为new List<T>(),然后再将List<T>集合重新赋值给DataSource属性。这样既可解决同步更新问题。
当DataGridView的DataSource绑定的为DataTable时,当DataTable的内容发生改变时,DataGridView中的内容会自动跟随DataTable改变而不用重新绑定数据源;
(注:不能设置DataGridView的DataSource属性为null,否则会破坏DataGridView中已经设置好的列结构。)
2、数据绑定后的添加删除问题:
如果要对绑定在DataGridView中的List<T>进行数据的添加删除,先要把List<T>转换成BindingList<T>,
再进行绑定:DataGridView1.DataSource=new BindingList<MyClass>(new List<MyClass>())。否则的话会产生许多意想不到的错误。
如:初始绑定空数据后再添加数据绑定后,却取不到DataGridView.CurrentCell属性。
List<URLListObject> rltList = new List<URLListObject>(); rltList = this.AnalysisHTML(); dataGridView1.DataSource = new BindingList<URLListObject>(rltList); //修改数据并刷新
foreach (URLListObject per_o in rltList)
{
per_o.finalUrl = BaseObjects.GetTheRedirectUrl(per_o.url); }
this.dataGridView1.Refresh();
WinForm程序用使用List对象绑定DataGridView数据源的更多相关文章
- Winform知识汇总之多次绑定DataGridView的DataSource会报错 NullReferenceExcepti
最近做了一个winform的项目,数据绑定在datagridview中,datagridview中的数据需要删除,分页,更新等之类的操作,所以就涉及到了datagridview的重新绑定问题,而且这些 ...
- .Net平台Winform两个ComboBox控件绑定同一个数据源
今天WINFROM编程遇到这么一个问题:是有关WINFORM中两个comboBox控件绑定同一个数据源的问题,在窗体的界面上有两个comboBox,我在Form1_Load中对他们做了数据绑定(具体代 ...
- winform下读取excel文件并绑定datagridview例子
首先我要读取这个excel文件然后生成Datable 用winform编程的方式 前台界面: 后台的代码 using System; using System.Collections.Generic; ...
- .NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤
转:http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能,可以通过点击表头上的下拉列表来实现数据的 ...
- C# WinForm程序向datagridview里添加数据
在C#开发的winform程序中,datagridview是一个经常使用到的控件.它可以以类似excel表格的形式规范的展示或操作数据,我也经常使用这个控件.使用这个控件首先要掌握的就是如何向其中插入 ...
- winform——绑定DataGridView
==========================================================================================重点需要掌握==Au ...
- C#中Winform程序中如何实现多维表头【不通过第三方报表程序】
问题:C#中Winform程序中如何实现多维表头. 在网上搜了很多方法,大多数方法对于我这种新手,看的都不是很懂.最后在新浪博客看到了一篇比较易懂的文章:[DataGridView二维表头与合并单元格 ...
- 如何快速开发树形列表和分页查询整合的WInform程序界面
我在做Winform界面的时候,一般都是统一化处理,界面顶部放置一些字段条件供查询,下面就是分页查询列表,展示相关的数据.但有时候碰到一些表字段内容分类比较多,有一些特别重要,如果放在一个树形列表来进 ...
- 多次绑定DataGridView的DataSource会报错 NullReferenceExcepti
最近做了一个winform的项目,数据绑定在datagridview中,datagridview中的数据需要删除,分页,更新等之类的操作,所以就涉及到了datagridview的重新绑定问题,而且这些 ...
随机推荐
- ADF_ADF Faces系列4_ADF数据可视化组件简介之建立BarChart/Gauge/ExportExcel
2013-05-01 Created By BaoXinjian
- Codeforces Round #359 (Div. 2)C - Robbers' watch
C. Robbers' watch time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- Javascript函数声明与函数表达式
在定义函数时,我们一般使用下面这两种方法: 使用函数声明定义: function sum (a, b) { return a + b; } 使用函数表达式定义: var sum = function ...
- jsonp跨域请求的问题
今天发现json取数据的时候有时会报如下的错误: No 'Access-Control-Allow-Origin' header is present on the requested resourc ...
- 转--Android中自定义字体的实现方法
1.Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace 2.在Android中可以引入其他字体 . 复制代码 代码如下: <?xml versio ...
- HTTP Get请求URL最大长度
各浏览器HTTP Get请求URL最大长度并不相同,几类常用浏览器最大长度及超过最大长度后提交情况如下: IE6.0 :url最大长度2083个字符,超过最大长度后无法提 ...
- CentOS7 安装Redis 3.2.3
$ wget http://download.redis.io/releases/redis-3.2.3.tar.gz $ tar xzf redis-3.2.3.tar.gz $ cd redis- ...
- [Flex] Accordion系列-动态添加或删除Accordion容器中项目
<?xml version="1.0" encoding="utf-8"?> <!--Flex中如何使用addChild()和removeCh ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(11)-切换用户
在某些应用场合中,我们可能需要用到切换用户的功能,从而以另一用户的身份进行相关操作.这一点类似于在Linux系统中,用su命令切换到另一用户进行相关操作. 既然实际应用中有这种场合,那么我们 ...
- EL表达式结合页面JSTL使用 迭代显示表格
1.迭代显示表格 <%@ page isELIgnored="false"%><%@ taglib uri="/WEB-INF/struts-bean. ...