我通过选择它并按Delete 删除了 DataGridView 中的一行,并希望获取该行的索引。我怎么能这样做?
问问题
4901 次
4 回答
4
UserDeletingRow
您可以通过处理事件在删除行之前获取索引。
dataGridView1.UserDeletingRow += (sa, ea) =>
{
MessageBox.Show(ea.Row.Index.ToString())
};
于 2012-07-23T04:20:36.613 回答
1
可以获取当前选中项的选中索引:
int index = DataGrid1.SelectedIndex;
您可以在删除项目之前执行此操作,您将知道索引。
于 2012-07-23T05:08:06.687 回答
1
StackOverflow 中的大多数答案都提到UserDeletedRow
了一个事件来处理和获取用户删除的行索引。此事件仅在删除该行后触发。正确的必须是UserDeletingRow
,在此事件中,您可以在丢失已删除的行之前执行某些操作。现在如何获取行索引?使用以下代码的答案
private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
int tmp = e.Row.Index;
}
于 2017-08-16T12:12:40.847 回答
-1
也许这会对你有所帮助。
private void EvtBindingNavigatorDeleteItemClick(object sender, System.EventArgs e)
{
ToolStripButton MyToolStripButton = (ToolStripButton)sender;
CustomBindingNavigator MyCustomBindingNavigator =
(CustomBindingNavigator)MyToolStripButton.GetCurrentParent();
CustomDataGridView MyDataGridView = GetDataGridView(MyCustomBindingNavigator);
int RowIndexDelete = -1;
BindingSource MyBindingSource = MyCustomBindingNavigator.BindingSource;
DataTable MyDataTable = (DataTable)MyBindingSource.DataSource;
foreach ( DataRow MyDataRow in MyDataTable.Rows)
{
if (MyDataRow.RowState == DataRowState.Deleted)
RowIndexDelete = MyDataTable.Rows.IndexOf(MyDataRow);
}
}
于 2020-01-15T16:53:15.667 回答