C# 中的datagridview是一个非常有用且强大的控件,可以用来绑定数据库、绑定LIST类型的变量等等。
这里我们说一说绑定List类型并实时更新datagridview的情况。实时更新,指的是在我操作BindingList时(删除/Add)等操作的时候,datagridview也会发生相应变化。
想要达到此种目的,需要达成以下几个条件:
1.datagridview的datasource被指定为BindingList类型
2.在datagridview的编辑列中,将列里面的dataproperty指定为BindingList下的某一个属性
3.这个属性(成员变量)还必须是通过get/set这种方式来获取的,,不能是直接得到的public类型的变量。
代码示例:
声明bindinglist:
BindingList<aHost> IpList = new BindingList<aHost>();
ahost类:
class aHost { string _Ip = ""; string _isAlive = "No"; public string sPorts; public string Ip { get {return _Ip;} set { _Ip = value; } } public string isAlive { get { return _isAlive; } set { _isAlive = value; } } }
建立绑定关系:
public Form1() { InitializeComponent(); IpList.Add(new Model.aHost("192.168.1.1","Nope")); dgHostList.AutoGenerateColumns = false; dgHostList.DataSource = IpList; }
设置datapropertyname就不演示了,很简单。
效果: