ObservableCollection
这个集合一般在WPF中使用,和datagrid绑定之后,可以直接增加、删除行,datagrid中可以直接对数据进行刷新,如果要实现对某一行中的元素进行修改之后还能实时刷新,只需要实现INotifyPropertyChanged
接口即可
BindingList
在winform,我用ObservableCollection没有成功,只能实现第一次的绑定,之后刷新数据的时候,datagridview中不改变,之后采用了BindingList的集合数据,实现了动态绑定。
改变数据源,datagridview可以动态修改数据,增加、删除、修改时,表格试图中都会实时更新
code
要绑定的类
public class IPInfo
{
public string IPAddress{ get; set; }
public bool status { get; set; }
}
datagrid设置
BindingList<IPInfo> ipaddrs = new BindingList<IPInfo>();
dgIPInfo.Columns[0].DataPropertyName = "IPAddress";
dgIPInfo.Columns[1].DataPropertyName = "status";
dgIPInfo.DataSource = ipaddrs;
ipaddrs.Add(new IPInfo()
{
IPAddress = "1111",
status = true
});
ipaddrs.Add(new IPInfo()
{
IPAddress = "222",
status = false
});
ipaddrs[0].IPAddress = "3333333"; //在此处修改数据,列表也可以被更新