Was ist der beste Weg, um den Inhalt eines DataGridView zu erfassen und diese Werte in einer Liste in C# zu platzieren?Inhalt von DataGridView in Liste in C# konvertieren
9
A
Antwort
12
List<MyItem> items = new List<MyItem>();
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
MyItem item = new MyItem();
foreach (DataGridViewCell dc in dr.Cells)
{
...build out MyItem....based on DataGridViewCell.OwningColumn and DataGridViewCell.Value
}
items.Add(item);
}
4
Oder ein Linq Weg
var list = (from row in dataGridView1.Rows.Cast<DataGridViewRow>()
from cell in row.Cells.Cast<DataGridViewCell>()
select new
{
//project into your new class from the row and cell vars.
}).ToList();
3
var Result = dataGridView1.Rows.OfType<DataGridViewRow>().Select(
r => r.Cells.OfType<DataGridViewCell>().Select(c => c.Value).ToArray()).ToList();
oder ein String-Wörterbuch des Wertes
var Result = dataGridView1.Rows.OfType<DataGridViewRow>().Select(
r => r.Cells.OfType<DataGridViewCell>().ToDictionary(c => dataGridView1.Columns[c.OwningColumn].HeaderText, c => (c.Value ?? "").ToString()
).ToList();
4
zu erhalten, wenn Sie Ihre Liste mit Datasource binden, können Sie konvertieren zurück durch ,
List<Class> myClass= DataGridView.Datasource as List<Class> ;
0
IEnumerable.OfType<TResult>
Erweiterungsmethode kann Ihr bester Freund hier sein. Hier ist, wie ich es über eine LINQ-Abfrage getan hätte:
Verwandte Themen
- 1. C# Datagridview - Konvertieren von TextColumn in ComboBoxColumn
- 2. Konvertieren einer Liste von Aufzählungen in Flags in C#
- 3. Aktualisieren von Datenbanktabelle von Datagridview in C#
- 4. datagridview in C#
- 5. DataGridView Bindung von Liste Problem
- 6. Konvertieren DataTable-Zeile in DataGridView-Zeile
- 7. Datagridview Datasource Inhalt dupliziert
- 8. Konvertieren von Inhalt eines ByteArrayInputStream in String
- 9. Zeile ändern Ereignis von Datagridview in C#
- 10. Programmatically (C#) konvertieren Excel in eine Liste von Bild
- 11. Konvertieren von MongoDB-Dokumenten in C# Liste der Objekte
- 12. C# DataGridView £ anstelle von $
- 13. DataGridView nicht in c aktualisieren #
- 14. Konvertieren von ungebundenen Datagridview zu einer Datatable
- 15. Auffüllen von Datagridview mit Liste von Objekten
- 16. Kann aktualisierte Liste in datagridview nicht aktualisieren
- 17. Child DataGridView in einem DataGridView
- 18. Vektor in Liste konvertieren
- 19. Konvertieren von Bild in C#
- 20. Konvertieren von Ruby in C#
- 21. django Liste von Objekten in eine Liste von Primärschlüsseln konvertieren
- 22. C#: Push-Änderungen von DataGridView in BindingList zurück zur Datenbank?
- 23. DataGridView Inhalt wird nicht gedruckt
- 24. anzeigen Liste der Objekte in Datagridview
- 25. Datagridview in C# - benutzerdefinierte Sortierung der Spalte
- 26. Editieren eines DataGridView, das Spalten in C#
- 27. Sortieren von Datagridview Zeilenkopf C#
- 28. Konvertieren eines Projekts von C++ in C#
- 29. Konvertieren von C++ - Code in C# -Code
- 30. Konvertieren von Integer zur Liste in Python
Wenn innerhalb der Foreach-Anweisung ich auf den Wert des ersten Elements in der Zeile zugreifen wollte, wie würde ich dies erreichen? –
Die zweite Foreach würde Ihre Zellendaten enthalten ... Sie bewegen sich Zeile für Zeile ... und extrahieren die Daten aus jeder Zelle innerhalb dieser Zeile. Dann verwenden Sie die DataGridViewCell.OwningColumn, wenn Sie Dinge zusammenpassen müssen, ansonsten ist es linear und Sie können einfach DataGridViewCell.Value verwenden, um den Wert jeder Zelle zu extrahieren, während Sie sich horizontal über die Daten bewegen –