是否有一种强制C# Visual Studio 2013
刷新的简单方法?
这不起作用,除非我在frmDomain_Load上运行它然后它可以工作,如果我在任何时候重新运行它(即当我想向nDomains添加一些值时)它不会刷新。< / p>
public DataGridView domainDataGridView { get; set; }
public List<string> nDomains = new List<string>();
public void AddToGrid(){
nDomains.Add("Brazil 1");
nDomains.Add("Germany 7");
}
public void RefreshGrid(){
domainDataGridView.Rows.Clear();
domainDataGridView.Columns.Clear();
domainDataGridView.ColumnCount = 1;
domainDataGridView.Columns[0].Name = "Domain";
domainDataGridView.Columns[0].Width = 251;
foreach (String myDomain in nDomains)
{
domainDataGridView.Rows.Add(myDomain);
}
domainDataGridView.Refresh();
}
答案 0 :(得分:0)
调用grid.Refresh()
只会导致重绘,这并不一定会强制重绘任何新数据。由于网格不知道数据已经改变,它可能只是用以前的数据重绘。
如果您将List(Of String)
更改为System.ComponentModel.BindingList(Of String)
,则会在数据更改时通知网格。这应该会在添加/删除项目时自动刷新。