List<Person> list=new List<Person>(); for(int i=;i<;i++) { list.Add(new Person(){........}) } dgvPerson.DataSource=list; //到此,dgvPerson会显示list的内容,但是继续执行下面代码的时候,dgvPerson不会显示新的list内容 list.Clear(); for(int i=;i<;i++) { list.Add(new Person(){........}) } dgvPerson.DataSource=list; //这里如果把List改为BindingList,则可以很好的解决此问题。