若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象,

然后直接将BindingList赋值给DataGridView.DataSource, 如此直接操作BindingList对象时,DataGridView的结果会动态随之更新。

1,绑定

List<UserClass>  listUserClass = new List<UserClass>();
BindingList   BList<UserClass> ;
listUserClass = this.UserMethodInitList(); //初始化 BList = new BindingList<UserClass>( listUserClass);//赋值给BindingList对象,Form全局变量
this.DataGridView1.DataSource = BList; //将DataGridView里的数据源绑定成BindingList

2, 获取当前选定的行

//获取行对象后
List<UserClass> modiObj = this.DataGridView1.CurrentRow.DataBoundItem as UserClass;

3, 修改当前行

//获取行对象后
List<UserClass> modiObj = this.DataGridView1.CurrentRow.DataBoundItem as UserClass; modiObj .cost = ; //修改值 int pos = this.DataGridView1.CurrentRow.Index; //记位置 this.BList.RemoveAt( pos); //删除行 this.BList.Insert( pos, modiObj );//添加修改后的行到指定位置, 不指定位置默认添加到最后

4,删除行

int  pos = this.DataGridView1.CurrentRow.Index; //记位置

this.BList.RemoveAt( pos); //删除行,操作BindingList对象即可更新DataGridview

5,删除多行

            //允许删除多行

            DataGridViewSelectedRowCollection rows = this.DataGridView1.SelectedRows;

            foreach (DataGridViewRow row in rows)

            {

                this.BList.RemoveAt(row.Index);

            }

6, 返向转换

BindingList<UserClass> Blist = (BindingList<UserClass>) this.DataGridView1.DataSource;

List<UserClass> list1 = List<UserClass>( Blist);

C# 中DataGridView 绑定List<T>做数据源的操作问题的更多相关文章

  1. C# Winform中DataGridView绑定后DataGridViewCheckBoxColumn无法显示的问题

    在控件DataGridView绑定数据源后,发现DataGridViewCheckBoxColumn不能显示当前的check值.经过一番努力,现将完整代码奉献出来,仅供参考. 错误代码: /*禁止自动 ...

  2. c# winform 中DataGridView绑定List<T> 不能显示数据

    遇到问题 DataGridView绑定List后,List更新后再次绑定不显示数据 datagridview 绑定数据源的时候 用List是不能显示修改内容的..要用binginglist<T& ...

  3. C# 中 datagridview 绑定BindingList类型和更新

    C# 中的datagridview是一个非常有用且强大的控件,可以用来绑定数据库.绑定LIST类型的变量等等. 这里我们说一说绑定List类型并实时更新datagridview的情况.实时更新,指的是 ...

  4. winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中

    ; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums ...

  5. shell 从文件中读取批量文件名并做命令行操作

    222文件内容: /home/zhangsuosheng/Desktop/9-30/9_30/1bak/1538291162.png /home/zhangsuosheng/Desktop/9-30/ ...

  6. DataGridView绑定数据源的几种方式

    使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据. 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可.在绑 ...

  7. C# DataGridView绑定数据源的几种常见方式

    开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...

  8. DataGridView绑定数据源

    给DataGridView绑定数据源比較简单,方法主要有两种: 1.直接在控件属性中绑定数据源,这样的方法最简单,但它是直接连接数据库的,这样就和传DataTable的后果差点儿相同了,所以还是尽量避 ...

  9. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

随机推荐

  1. svn 提交错误 400 Bad Reqest MKACTIVITY 请求于XX失败 Conflict Unable to connect to a repository at URL

    思路来源:http://www.cnblogs.com/wangyt223/archive/2012/11/22/2782801.html svn 提交错误 400 Bad Reqest MKACTI ...

  2. storm的数据源编程单元Spout学习整理

    Spout呢,是Topology中数据流的源头,也是Storm针对数据源的编程单元.一般数据的来源,是通过外部数据源来读取数据项(Tuple),并读取的数据项传输至作业的其他组件.编程人员一般可通过O ...

  3. Hadoop系统架构

    一.Hadoop系统架构图 Hadoop1.0与hadoop2.0架构对比图 YARN架构: ResourceManager –处理客户端请求 –启动/监控ApplicationMaster –监控N ...

  4. SOA_环境安装系列3_Oracle Weblogic安装和环境搭建(案例)

    2014-01-03 Created By BaoXinjian

  5. 类(class)、构造函数(constructor)、原型(prototype)

    类 Class 类的概念应该是面向对象语言的一个特色,但是JavaScript并不像Java,C++等高级语言那样拥有正式的类,而是多数通过构造器以及原型方式来仿造实现.在讨论构造器和原型方法前,我可 ...

  6. LPC1768之时钟

    一锁相环和CPU时钟. CPU时钟=锁相环0输出/CPU时钟配置寄存器的预分频值即:Fcpu=Fcco/CCLKCFG+1.锁相环可以把外部时钟倍频到较高频率,PLL0输出频率是: Fcco = (2 ...

  7. ajax提交后完全不进入action直接返回错误

    今天遇到个问题就是jQuery提交ajax请求,居然没有进入action的断点而直接返回错误信息. 仔细排查后才发现原来是因为客户端提交的某字段是100w的值,而后台对应的字段是个Short类型,根本 ...

  8. Linux 链接(转载)

    来源:http://www.cnblogs.com/sonic4x/archive/2011/08/05/2128543.html 1.Linux链接概念Linux链接分两种,一种被称为硬链接(Har ...

  9. java调用FFmpeg及mencoder转换视频为FLV并截图

    Conver.java package com.ll19.flv; public class Conver { public void run() { try { // 转换并截图 String fi ...

  10. java -d64

    在 resin启动时指定java时加上了 -d64选项 JAVA="/xx/java -d64" 选择 "-server"选项必须使用-d64 http://b ...