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就不演示了,很簡單。
效果: