2017-03-02 1 views
0

In C# Windows Form Anwendung gibt es eine Schaltfläche zum Löschen ist das Formular, das den Benutzernamen davor löschen soll. Während es gut läuft und löscht den Benutzer, wenn der Benutzer an der Spitze der Liste ist, aber wenn ich jeden Benutzer dazwischen löschen möchte, sagt es Index außerhalb des Bereichs. Bitte beraten. Vielen Dank. HierC# Datagridview Index außerhalb des Bereichs

ist der Code:

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(); 
} 

Ein Bild ist die Fenster mit der Löschtaste bilden und die andere ist die Ausnahme.

Weitere Informationen finden Sie auf das Bild

image

Antwort

0

Ihr Problem ist hier:

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

Der erste Index der Spalte sein sollte, so ist es auf diese ändern:

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

Oder Sie können stattdessen verwenden:

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