【发布时间】:2016-08-29 08:34:54
【问题描述】:
我正在尝试在我的 DataGridView 上实现 DeleteItem 功能。 我有以下事件:
private void btnDeleteDjelatnik_Click(object sender, EventArgs e)
{
int idDjelatnik = -1;
int index = djelatnikDataGrid.CurrentRow.Index;
Int32.TryParse(djelatnikDataGrid.Rows[index].Cells[0].Value.ToString(), out idDjelatnik);
r.DeleteDjelatnik(idDjelatnik);
}
我正在尝试获取选定的行 ID 列,以便将其传递给我的 Delete 方法:DeleteDjelatnik(int slectedID);
以下行总是给我 3 的值:
int index = djelatnikDataGrid.CurrentRow.Index;
我也试过
int index = djelatnikDataGrid.SelectedRows[0].Index;
但我得到了 ArgumentOutOfRange 异常,是的,我的 SelectionMode 是在 FullRowSelect 上
如何让它工作?
【问题讨论】:
-
试试 datagridview.CurrentCell.RowIndex
-
CurrentRow和SelectedRow可能不一样。CurrentRow将返回单元格处于活动状态的行。SelectedRows返回选择,因此您应该使用djelatnikDataGrid.SelectedRows[0]。 -
我已经尝试过 datagridview.CurrentCell.RowIndex 并且无论我选择哪一行,我仍然得到值 3:/
-
正如我所说的 int index = djelatnikDataGrid.SelectedRows[0].Index;抛出 ArgumentOutOfRange 异常
-
这清楚地表明您没有选择任何行。
标签: c# winforms datagridview