2017-03-02 99 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()