C# 中 datagridview 绑定BindingList类型和更新

时间:2022-02-17 23:56:18

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就不演示了,很简单。

效果: