Ich habe DataGridView
, die eine var
Sammlung hat, die sich aus einem LINQ
join
zwischen zwei Datenbankobjekten ergibt. Ich wähle nur bestimmte Spalten aus dem resultierenden Join und füttere es als DataSource
-Eigenschaft an meine DataGridView
. Die Metadaten meines DataGridView
sind an die Spalten des Objekts var
angepasst und übernehmen zur Laufzeit die Formatierung.
Das Problem ist, wenn ich den Inhalt löschen und neue var
mit meinem join
Ergebnis einspeisen muss. Wenn ich DataGridView.DataSource = null
code ich werde den Inhalt löschen, aber auch Metadaten zerstören. Das nächste Mal, wenn ich meine var
Sammlung füttere, wird die Formatierung alles durcheinander gebracht.
Die Frage ist, wie Sie Daten gebundene DataGridView
Inhalt löschen und seine ursprünglichen Metadaten beibehalten? Ich denke, ich könnte leere var
Sammlung nach meinem verbundenen Objekten füttern, aber gibt es eine native DataGridView
Methode, die den Inhalt löschen und Spaltenstruktur beibehalten würde?DataGridView-Metadaten nach dem Löschen von DataSource beibehalten
1
A
Antwort
1
Wenn Sie Spalten für Ihre DataGridView
definieren und AutoGenerateColumns
-false
dann das Raster zeigt nur die Spalten, die Sie definiert haben. Auch nachdem Sie DataSource
auf null gesetzt haben, bleiben Spalten erhalten.
Beispiel:
Im folgende Beispiel, das Raster zeigt nur Property1 und Property2 im Raster. Wenn Sie die Datenquelle auf null setzen, behält das Raster die Spalten bei.
var column1 = new DataGridViewTextBoxColumn();
column1.DataPropertyName = "Property1";
column1.HeaderText = "Column1";
var column2 = new DataGridViewTextBoxColumn();
column2.DataPropertyName = "Property2";
column2.HeaderText = "Column2";
this.dataGridView1.Columns.Add(column1);
this.dataGridView1.Columns.Add(column2);
this.dataGridView1.AutoGenerateColumns = false;
this.dataGridView1.DataSource = Enumerable.Range(1, 10)
.Select(x => new
{
Property1 = x,
Property2 = x,
Property3 = x
}).ToList();
1
Versuchen
dataGridView1.Rows.Clear();
Verwandte Themen
- 1. Werte nach dem Senden des Formulars beibehalten
- 2. Datei nach dem Upload löschen
- 3. Löschen der Festplatte von Azure nach dem Löschen der VM
- 4. Oracle-Trigger nach dem Löschen
- 5. Warum ändert DataGridView nach dem Ändern der DataSource die Zeilen erst nach dem Sortieren?
- 6. JBoss AS 7.1.1 löschen der Datenbank nach dem Neustart
- 7. ListBox Auswahldaten nach Requery beibehalten
- 8. Löschen von Plugin-Daten nach dem Entfernen von Wordpress
- 9. CouchDB Größe wächst nach dem Löschen
- 10. Flask - Datei nach dem Download löschen
- 11. Können Primärschlüssel nach dem Löschen wiederverwendet werden?
- 12. Nach dem Löschen der App vom Gerät
- 13. Dynamisch neu laden UIPageViewController nach dataSource geändert
- 14. DataGridView-Spalten funktionieren nach dem Löschen von Daten und Neuauffüllen von Spalten nicht mehr
- 15. sqlalchemy Flasche nach dem Einfügen/Aktualisieren/Löschen
- 16. Datatable nicht aktualisieren nach dem Löschen
- 17. Firebase immer noch AuthData nach dem Löschen
- 18. Laravel Umleitung nach dem Löschen Artikel
- 19. Nachschärfen Caret Position nach dem Löschen
- 20. JQuery löschen DOM-Element nach dem Ausblenden
- 21. Xamarin Forms Update Listenansicht nach dem Löschen
- 22. Protokolle nach dem Verbrauch löschen: logstash
- 23. Löschen des gültigen Formulars nach dem Senden
- 24. Löschen Sie alle Felder nach dem Senden
- 25. kann nicht nach dem Löschen Standarddienstkonto
- 26. Nachricht löschen nach dem Verbrauch in KAFKA
- 27. Symbole werden nach dem Löschen nicht geändert
- 28. Return Erfolgsmeldung nach dem Löschen/Update/erstellen
- 29. ConflictingBeanDefinitionException auch nach dem Löschen einer Klasse
- 30. Einfügen nach dem Löschen in NSManagedObjectContext
Dies ist die Antwort, die ich gesucht habe! Hat super funktioniert. Lustig, ich habe deinen Beitrag gelesen, kurz nachdem ich die Methode mit leeren Quellen benutzt hatte, hehe, jetzt habe ich zwei Möglichkeiten, diese Kontrolle zu löschen, aber deine ist mehr RAM-freundlich. – ArtK