zoukankan
html css js c++ java
DataGridView绑定List时无法进行添加删除操作的解决方法
将List<T>转换为BindingList<T>,然后设置DataGridView的DataSource为BindingList<T>!!
代码:
DataGridView.DataSource
=
new
BindingList
<
T
>
(List
<
T
>
);
将绑定BindingList<T>的DataSource转化为List<T>,同理
代码:
List
<
T
>
modelList
=
new
List
<
T
>
((BindingList
<
T
>
)
this
.DataGridView.DataSource);
说明:BindingList<T>和List<T>都有个构造函数,参数是
IEnumerable<T>,既然他们俩个都是继承
IEnumerable
,当然能相互转换。
下面是这个构造函数的执行过程:
public
List(IEnumerable
<
T
>
collection)
{
if
(collection
==
null
)
{
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection);
}
ICollection
<
T
>
is2
=
collection
as
ICollection
<
T
>
;
if
(is2
!=
null
)
{
int
count
=
is2.Count;
this
._items
=
new
T[count];
is2.CopyTo(
this
._items,
0
);
this
._size
=
count;
}
else
{
this
._size
=
0
;
this
._items
=
new
T[
4
];
using
(IEnumerator
<
T
>
enumerator
=
collection.GetEnumerator())
{
while
(enumerator.MoveNext())
{
this
.Add(enumerator.Current);
}
}
}
}
查看全文
相关阅读:
20155325 2016-2017-2 《Java程序设计》课程总结
实验五 网络编程与安全
2017-2018-1 20155314 20155323 实验一 开发环境的熟悉
2017-2018-1 20155323 《信息安全系统设计基础》第4周学习总结
2017-2018-1 20155323 《信息安全系统设计基础》第3周学习总结
# 2017-2018-1 20155323 《信息安全系统设计基础》第2周学习总结
2017-2018-1 20155323 《信息安全系统设计基础》第1周学习总结
C语言复习20170826
C语言复习20170821
C语言复习20170805
原文地址:https://www.cnblogs.com/yoshirogu/p/1564846.html
最新文章
# 20155224 实验三 敏捷开发与XP实践 实验报告
# 20155224 第十一周 课堂练习《计算后缀表达式的值》
问渠那得清如许?为有源头活水来。——java面向对象的思想
山重水复疑无路,柳暗花明又一村。——黑客技术探索
工欲善其事,必先利其器。——移动平台课程环境搭建
年年岁岁花相似,岁岁年年人不同。——linux课程初探
将博客搬至CSDN
linux内核学习总结
通过gdb跟踪进程调度分析进程切换的过程
通过gdb跟踪Linux内核装载和启动可执行程序过程
热门文章
通过fork函数创建进程的跟踪,分析linux内核进程的创建
通过实验分析system_call中断处理过程
20155325 2017-2018-1 《信息安全系统设计基础》第五周学习总结
20155325 2017-2018-1 《 信息安全系统设计基础》第四周学习总结
20155325 2017-2018-1 《信息安全系统设计基础》第三周学习总结
对Linux命令od -tc -tx1的C语言程序实现myod-优化版
安装配置虚拟机二三事
初步安装配置虚拟机、Ubuntu、git、vim、码云项目
2017-2018-1 20155325 《信息安全系统设计基础》0927课堂实践
20155325 2017-2018-1 《信息安全系统设计基础》第一周学习总结
Copyright © 2011-2022 走看看