C#, wie man die ausgewählte Spalte ID mit dem Wert aus datagridview
Ich habe ein DataGridView, und die Benutzer können wählen Sie Spalten aus. Ich will, dass die ausgewählte Spalte übergeben Sie den Wert des ID-Attributs. Ich habe versucht einige verschiedene Möglichkeiten, kam aber immer wieder mit Fehler. Übliche Fehlermeldung - "Index außerhalb des gültigen Bereichs". Muss nicht negativ und kleiner als die Größe der Sammlung...
paar Zeilen habe ich versucht
int id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value);
int id = Convert.ToInt32(dataGridView1.SelectedCells[0]);
int id = Convert.ToInt32(dataGridView1.Rows[0].Selected);
- Bitte klären Sie Ihre Anforderungen. "Ich will, dass die ausgewählte Spalte übergeben Sie den Wert des ID-Attributs" - Spalten nicht "Wert".
- Du hast Recht, sorry. Jede Spalte der ersten Zelle wird die id des Schülers, die ich brauche, um die an Sie weitergeben
- Ich verstehe immer noch nicht, was Sie versuchen zu erreichen. Alles was ich sagen kann ist, dass die ausgewählten Spalten zugegriffen werden kann per DataGridView.SelectedColumns Eigenschaft.
- Wenn ich
SelectedColumns
wie bekomme ich den Wert der ersten Zelle? Ich kann nicht finden, eine solche option. - Zelle ist eine Kreuzung von Zeile und Spalte. Also eine Spalte, die mehrere Zellen enthält. Gleiche für die Zeile. Würden Sie besser aktualisieren Sie Ihre Frage mit einem konkreten Beispiel Darstellung der use-case.
Du musst angemeldet sein, um einen Kommentar abzugeben.
"datagridview1.CurrentRow.Index" ruft den index der ausgewählten Zeile.
int id = (int)dataGridView1.CurrentRow.Cells[0].Value;
Ausgewählten Spalten noch keine Informationen über die ausgewählten Zeilen, so können Sie einfach Schleife, die alle Zeilen, um Ihre ID.
Diese Ausnahme bedeutet, dass Sie haben keine Auswahl und
SelectedRows
- collection ist leer. Statt[0]
verwenden FirstOrDefault wie.FirstOrDefault()?.
FirstOrDefult()
. Aber ich brauche ein Standard. Ich brauche nur diese ID, wenn der Benutzer wählt eine Spalte aus und dann brauche ich die erste Zelle der Wert ist die ID des Schülers