Vorweg, ich arbeite heute das erste Mal mit DataGridView.
Ich Vergleich zwei Zellen, ob die Werte gleich sind.
Sind die Werte nicht gleich, soll in einer neuen Spalte hinter der Zeile ein Button eingefügt werden.
Mein Code sieht bis jetzt so aus.
So erhalte ich ein Fehler (Die angegebene Zelle gehört bereits zu einem Raster. Dieser Vorgang ist ungültig.)
Wenn ich aber aus der Schleife herausnehmen und unter der Schleife einfüge funktioniert es. (Bild1) Aber nur wenn ich genau sage, wo der den Button einfügen soll.
Wenn ich die Spalte auf DataGridViewButtonColumn ändere werden ja in jeder Zelle Buttons angezeigt und das möchte ich nicht.
Gibt es vielleicht noch eine andre Möglichkeit?
Ich habe es auch mit Aber da weiß ich nicht, wie ich den Button Text hinzufügen kann.
Ich Vergleich zwei Zellen, ob die Werte gleich sind.
Sind die Werte nicht gleich, soll in einer neuen Spalte hinter der Zeile ein Button eingefügt werden.
Mein Code sieht bis jetzt so aus.
VB.NET-Quellcode
- Dim btn As New DataGridViewButtonCell()
- btn.UseColumnTextForButtonValue = True
- btn.Value = "update now"
- For i = 0 To DataGridView1.Rows.Count - 1
- If CInt(DataGridView1.Rows(i).Cells(1).Value) = CInt(DataGridView1.Rows(i).Cells(2).Value) Then
- DataGridView1.Rows(i).Cells(1).Style.BackColor = Color.LimeGreen
- Else
- DataGridView1.Rows(i).Cells(1).Style.BackColor = Color.Red
- DataGridView1.Rows(i).Cells(3).Value = "NEW UPDATE"
- DataGridView1.Rows(i).Cells(4) = btn '<--------- Fehler
- End If
- Next
- 'DataGridView1.Rows(1).Cells(4) = btn
So erhalte ich ein Fehler (Die angegebene Zelle gehört bereits zu einem Raster. Dieser Vorgang ist ungültig.)
Wenn ich aber aus der Schleife herausnehmen und unter der Schleife einfüge funktioniert es. (Bild1) Aber nur wenn ich genau sage, wo der den Button einfügen soll.
Wenn ich die Spalte auf DataGridViewButtonColumn ändere werden ja in jeder Zelle Buttons angezeigt und das möchte ich nicht.
Gibt es vielleicht noch eine andre Möglichkeit?
Ich habe es auch mit Aber da weiß ich nicht, wie ich den Button Text hinzufügen kann.