C# datagridview 添加额外的项目不显示

C# datagridview adding extra items not showing up

我有一个 DataGridView 和一个 button。按这个 button 它应该在 DataGridView 中添加一个新行。为此,我有以下代码:

    List<NavigationInfo> navigationRules = new List<NavigationInfo>();
    private void button1_Click(object sender, EventArgs e)
    {
        navigationRules.Add(new NavigationInfo());
        setDataSource(navigationRules);
    }


    public void setDataSource(List<NavigationInfo> data)
    {
        this.dataGridView2.DataSource = data;
        this.dataGridView2.Show();
        this.dataGridView2.Invalidate();
        this.dataGridView2.Update();
    }

现在,当我第一次单击此按钮时,它会正确地添加一个新行。但是,如果我第二次点击它,它就不会出现。 断点显示 datasource 确实收到了额外的项目。他们就是不露面。

有人知道如何解决这个问题吗?

更新后需要调用refresh(),同时将DataSource设置为null,

this.dataGridView2.DataSource = null;
this.dataGridView2.DataSource = data;        
dataGridView2.update();
dataGridView2.refresh();