int i = dataGridView1.CurrentRow.Index;
dataGridView1.Rows.RemoveAt(i);
上面的代码用于删除当前选定的行(仅允许选择 1 行),但我仍然可以看到该行保留在 datagridview 中。我是否错过了更新或失效?
ps:dataGridView1 是数据绑定(bind)的。
ps2:我使用linq查询来绑定(bind)数据,我不想再次查询只是为了显示一行被删除,我认为这会降低性能。
最佳答案
我认为解决方案取决于您如何绑定(bind)数据。如果您要绑定(bind) BindingList,RemoveAt() 方法会为您删除处理所有内容,并且您不必刷新 DataGridView。
尝试下面看看...
dataGridView1.Refresh();
或者重新绑定(bind)数据并查看..
dataGridView1.DataSource = myDataSource;
dataGridView1.Refresh();
关于c# - DataGridView.Rows.RemoveAt(int index) 不会删除 Windows 窗体中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7508624/