在我的应用程序中,我有一个绑定到BindingList的DataGridView,对象继承INotifyPropertyChanged以通知更改,同一个线程。
问题是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,因为收藏品已经过修改,而不是更新。
答案 0 :(得分:0)
您应该逐行更新。
您需要启动一个帖子,告诉您的应用更新哪一行。如果做得好,每行应逐一更新。
另一个选项是将结果存储在其他数据表或数据集中,操作完成后,将数据网格的数据表替换为新数据表。
答案 1 :(得分:0)
我认为您想要调用DataGrid.Items.Refresh()
来刷新项目,而不是DataGridView.Refresh()