看了許多但還是不太懂所以看著msdn實作了一次
1.先新增一個class
public int id { get; set; } public string name { get; set; }2.將class繼承INotifyPropertyChanged
using System.ComponentModel; public class member : INotifyPropertyChanged3.實作INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } }4.修改class
public int id { get; set; } private string _name; public string name { get { return this._name; } set { if (value != this._name) { this._name = value; NotifyPropertyChanged("Name"); } } }5.新增一個list(抓假資料如果是資料庫也可直接改)
public List6.抓出資料GetMember(int pCount) { List lst = new List (); string name = "test"; for (int i = 0; i < pCount; i++) { member create = new member() { id = i, name = name + i.ToString() }; lst.Add(create); } return lst; }
member script = new member(); List7.寫另一個頁面去修改namelst = script.GetMember(10); dataGridView1.DataSource = lst;
會發覺改了後dataGridview1的name也會跟著改
太神奇又好用了
參考網址
HOW TO:實作 INotifyPropertyChanged 介面
範例下載
INotifyPropertyChanged實作