• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#中DataGridView绑定ListT做数据源的操作问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

若想将 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 = 10; //修改值

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);

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
免费淘宝IP地址库简介及PHP/C#调用实例发布时间:2022-07-13
下一篇:
C#与51单片机串口通信发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap