2017-03-02 155 views
0

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

下面是代码:

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

回答

0

你的问题是在这里:

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

第一个指标应列,所以改成这样:

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

或者你可以用:

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