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