C#Datagridview索引超出范围

时间:2017-03-02 14:37:25

标签: c# datagridview

在c#windows窗体应用程序中,有一个删除按钮是应该删除其前面的用户名的表单。虽然它运行正常并且如果用户位于列表顶部但是如果我想要删除其中的任何用户,则删除用户,它表示索引超出范围。请指教。谢谢。

以下是代码:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    var sendergrid = (DataGridView)sender;
    if (sendergrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
    {
         Db.getInstance().deleteUser(dataGridView1[e.RowIndex, 0].Value.ToString());                
    }
    refresh();
}

一个图像是带有删除按钮的窗体,另一个是例外。

有关详细信息,请参阅图片

image

1 个答案:

答案 0 :(得分:0)

你的问题在这里:

dataGridView1[e.RowIndex, 0].Value.ToString()

第一个索引应该是列,因此将其更改为:

dataGridView1[0,e.RowIndex].Value.ToString()

或者您可以改为使用:

 dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()