当我想删除DataGridView中的一行时,我有一个小问题。
Grid中的第一列是DataGridViewButtonColumn,它一旦点击了一行中的任何一个按钮,就会删除这一行。
除了为dataSource删除行之后,所有工作正常,在我的情况下是BindingList,由于另一行取代刚刚被删除的rowIndex,事件再次被触发。
代码非常简单:
private void dg_list_EliminarBlogClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
e.RowIndex >= 0 &&
e.ColumnIndex == dg_lista_blogs.Columns["Eliminar"].Index)
{
MessageBoxHelper.PrepToCenterMessageBoxOnForm(this);
DialogResult dialogResult = MessageBox.Show("Are you sure?", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
mylist.RemoveAt(dg_lista_blogs.CurrentRow.Index);
}
}
}
有没有办法阻止这种情况?