我有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();
}
现在,当我第一次在新行中正确添加时,单击此按钮。但是,如果我第二次点击它就不显示。
Breakpointing告诉我datasource
确实收到额外的项目。他们只是没有出现。
有人知道如何解决这个问题吗?
答案 0 :(得分:1)
更新后需要调用refresh(),同时将DataSource设置为null,
this.dataGridView2.DataSource = null;
this.dataGridView2.DataSource = data;
dataGridView2.update();
dataGridView2.refresh();