Winform datagridview绑定问题

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 ipaddrs = new BindingList();
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";  //在此处修改数据,列表也可以被更新

你可能感兴趣的:(C#相关)