在我的應用程序中,我有一個DataGridView綁定到BindingList,對象繼承INotifyPropertyChanged通知更改,相同的線程。DataGridView不會刷新收藏修改
問題是,DataGridView不刷新UI,在選擇行更新行中的值,所以我試圖在最後使用DataGridView.Refresh(),現在工作的值都在DataGridView UI。
但實際的過程是長時間運行,它從網上下載,所以我需要顯示值,因爲他們更新。
請推薦。
public class Proxy : INotifyPropertyChanged
{
public string IPAddress
{
get
{
return ipaddress;
}
set
{
ipaddress = value;
OnPropertyChanged("IPAddress");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
SortableSearchableList<Proxy> proxyList = new SortableSearchableList<Proxy>();
proxydatagrid.DataSource = proxyList;
我想更新DATAGRIDVIEW,因爲集合被修改,而不是更新。
能否請您展示一些代碼 - 尤其是你如何實現INotifyPropertyChanged的,你是如何加入的項目,以你的綁定列表,並設置DataSource屬性。 – 2011-06-10 11:26:28
這對我來說很完美,我的代碼唯一的區別是我使用普通的BindingList你可以用你的代碼只用標準的BindingList 來檢查你的實現中沒有問題SortableSearchableList –
2011-06-10 11:39:03
另外一個想到 - 當你說你有一個漫長的過程,這是在一個後臺工作?您需要小心,使用類似ReportProgress方法的方式在正確的線程上運行。 – 2011-06-10 11:44:09