DataGridView-Datenfilterung: Datenquelle nicht ändern
In DataGridView gibt es je nach Art der verwendeten Datenquelle verschiedene Methoden zur Datenfilterung. Dieser Artikel konzentriert sich auf das Filtern von DataTable-Daten in einem DataSet.
Bestehende Methoden
Filtern Sie Daten in einer DataGridView normalerweise mit den folgenden Methoden:
Herausforderungen bei der Verwendung von DataSet als Datenquelle
Das Anwenden von Filtern kann jedoch kompliziert werden, wenn eine an ein DataSet gebundene DataTable verwendet wird. Durch Festlegen der RowFilter-Eigenschaft der DefaultView der DataTable wird die DataGridView-Anzeige nicht automatisch aktualisiert.
Lösung
Der Schlüssel zum Filtern einer DataTable in einem DataSet ohne Änderung der Datenquelle liegt in der Verwendung der DefaultView der DataTable. Der folgende Code zeigt, wie das geht:
<code class="language-csharp">(dataGridViewFields.DataSource as DataTable).DefaultView.RowFilter = string.Format("Field = '{0}'", textBoxFilter.Text);</code>
Wir können auf seine DefaultView zugreifen, indem wir auf die DataSource-Eigenschaft der DataGridView zugreifen und sie in eine DataTable konvertieren. Anschließend kann die RowFilter-Eigenschaft so eingestellt werden, dass sie den gewünschten Filter anwendet. Diese Methode stellt sicher, dass die Datenquelle beim Filtern von Daten im DataGridView unverändert bleibt.
Das obige ist der detaillierte Inhalt vonWie filtere ich die Datentabelle einer DataGridView, ohne die Datenquelle zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!