C# 中DataGridView 绑定List<T>做数据源的操作问题
若想将 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>做数据源的操作问题的更多相关文章
- C# Winform中DataGridView绑定后DataGridViewCheckBoxColumn无法显示的问题
在控件DataGridView绑定数据源后,发现DataGridViewCheckBoxColumn不能显示当前的check值.经过一番努力,现将完整代码奉献出来,仅供参考. 错误代码: /*禁止自动 ...
- c# winform 中DataGridView绑定List<T> 不能显示数据
遇到问题 DataGridView绑定List后,List更新后再次绑定不显示数据 datagridview 绑定数据源的时候 用List是不能显示修改内容的..要用binginglist<T& ...
- C# 中 datagridview 绑定BindingList类型和更新
C# 中的datagridview是一个非常有用且强大的控件,可以用来绑定数据库.绑定LIST类型的变量等等. 这里我们说一说绑定List类型并实时更新datagridview的情况.实时更新,指的是 ...
- winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中
; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums ...
- shell 从文件中读取批量文件名并做命令行操作
222文件内容: /home/zhangsuosheng/Desktop/9-30/9_30/1bak/1538291162.png /home/zhangsuosheng/Desktop/9-30/ ...
- DataGridView绑定数据源的几种方式
使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据. 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可.在绑 ...
- C# DataGridView绑定数据源的几种常见方式
开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...
- DataGridView绑定数据源
给DataGridView绑定数据源比較简单,方法主要有两种: 1.直接在控件属性中绑定数据源,这样的方法最简单,但它是直接连接数据库的,这样就和传DataTable的后果差点儿相同了,所以还是尽量避 ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
随机推荐
- BIP_开发案例05_BI Pubisher标准做法以BIP.XML为数据源以BIP.RTF为模板的简单例子(案例)
2014-05-31 Created By BaoXinjian
- 读《java核心技术卷一》有感
过去一个多月了吧.才囫囵吞枣地把这书过了一遍.话说这书也够长的,一共706页.我从来不是个喜欢记录的人,一直以来看什么书都是看完了就扔一边去,可能有时候有那么一点想记录下来的冲动,但算算时间太紧,很多 ...
- centos下安装MySQL5.7
1.查找mysqlwhereis mysql 2.删除mysqlyum remove mysql mysql-server mysql-libs mysql-server;rm –rf /usr/li ...
- JAVA 下拉列表和滚动条
//下拉列表和滚动条 import java.awt.*; import javax.swing.*; public class Jiemian7 extends JFrame{ JPanel mb1 ...
- laravel下使用阿里云oss上传图片
对小公司而言,使用阿里云oss比直接买硬盘要划算的多,不管从存储性价比上还是从网速负载上.最近因为公司的项目有比较大的图片存储访问需求,所以决定使用阿里云的oss. 在研究了一下以后,摆着不自己造轮子 ...
- git相关网页
git.apache2.gerrit安装 1.http://blog.csdn.net/benkaoya/article/details/8680886 2.http://fatalove.iteye ...
- java之生产者与消费者
package com.produce; import java.util.LinkedList; import java.util.Queue; /*@author shijin * 生产者与消费者 ...
- 30天轻松学习javaweb_Range实现断点续传
package com.wzh.test.http; import java.io.FileOutputStream; import java.io.IOException; import java. ...
- .NET类型转换的常用方式
第一.隐式转换 byte, short, int, long, fload, double 等,根据这个排列顺序,各种类型的值依次可以向后自动进行转换 如果需要逆转换,则需要进行强制转化.同时考虑溢出 ...
- JBPM的引擎内核学习
http://atongyeye.iteye.com/blog/2093505 流程引擎 http://www.cnblogs.com/aspnetx/archive/2009/09/24/15735 ...