数据源绑定DataGridViewComboBox

 

ExpandedBlockStart.gif 代码
Private  myAL  As   New  ArrayList()
Private  myAL2  As   New  ArrayList()  ' 绑定DataGridViewComboBoxColumn

' Load事件中
Dim  Col  As  DataGridViewComboBoxColumn  =  CreateComboBoxColumn()
myAL2 
=  myAL.Clone
Col.DataSource 
=  myAL2

Private   Sub  Button2_Click( ByVal  sender  As  System.Object,  ByVal  e  As  System.EventArgs)  Handles  Button2.Click
    myAL2.RemoveAt(
0 )
End Sub

 

当Load事件中myAL2 = myAL 时(此时Button2_Click事件中为myAL.RemoveAt(0) ),这个时候DataGridViewComboBox中的数据会随myALRemove的发生而Remove掉

 

如果代码换成myAL2 = myAL.Clone,即使Button2_Click事件中为myAL2.RemoveAt(0)  ,DataGridViewComboBox中的数据仍然不变化。

ArrayList.Clone 方法

创建 ArrayList 的浅表副本。

集合的浅表副本仅复制集合的元素(不论它们是引用类型还是值类型),但不复制引用所引用的对象。新集合中的引用与原始集合中的引用指向相同的对象。

与之相对,集合的深层副本将复制这些元素以及由它们直接或间接引用的所有内容。

制 ArrayList 的时候,使用 ArrayList.Clone() 方法复制出来的新 ArrayList 之中元素的值会随着源 ArrayList 中元素的值发生变化而一起改变。

 

 ----------------------------------------------------------------------

业余爱好  无聊时学学  水平很菜  希望各位多多帮助  多多指点

 

转载于:https://www.cnblogs.com/yzy666/archive/2010/03/05/1679385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值