Heim > Backend-Entwicklung > C++ > Wie filtert ich eine DataGridView, die an einen Datensatz gebunden ist, ohne ihre Datenquelle zu ändern?

Wie filtert ich eine DataGridView, die an einen Datensatz gebunden ist, ohne ihre Datenquelle zu ändern?

Linda Hamilton
Freigeben: 2025-01-25 09:56:12
Original
493 Leute haben es durchsucht

How to Filter a DataGridView Bound to a DataSet without Changing its DataSource?

Effiziente DataGridView -Filterung mit Datensatz: Ein direkter DataTable -Ansatz

Filterung einer mit einem DataTaset verknüpften DataGridView, die mit einem DataTable verknüpft ist, ist eine eindeutige Herausforderung. Im Gegensatz zu Szenarien, in denen das DataTable direkt gebunden ist oder eine BindingSource verwendet wird, aktualisiert die Änderung der RowFilter -Datenatable -Eigenschaft die Anzeige der DataGridView nicht automatisch.

Diese Einschränkung beruht auf der Art und Weise, wie die DataGridView Datasets übernimmt. Wenn das DataSource ein Datensatz ist, schreibt die DataMember Eigenschaft vor, welche DataTable angezeigt wird. Das Ändern des RowFilter eines von DataMember nicht angegebenen Datentabels hat keinen sichtbaren Effekt auf das Netz.

Die Lösung beinhaltet den direkten Zugriff auf und manipuliert auf die richtige DataTable:

<code class="language-csharp">private void textBox1_TextChanged(object sender, EventArgs e)
{
    DataSet ds = (DataSet)dataGridView1.DataSource;
    DataTable dt = ds.Tables[dataGridView1.DataMember];

    dt.DefaultView.RowFilter = string.Format("country LIKE '%{0}%'", textBox1.Text);
}</code>
Nach dem Login kopieren

Dieser Code -Snippet ruft das aktive DataTable mithilfe der Eigenschaft von DataGridView ab und wendet dann den Filter auf seine DataMember an. Dies aktualisiert direkt die Anzeige des DataGridView, ohne eine Änderung der Eigenschaft DefaultView zu ändern. DataSource

entscheidend vermeidet diese Methode Ausnahmen, die sich aus dem Versuch ergeben können, das

zu einem Datensatz umzubiegen, um die Kompatibilität mit vorhandenem Code zu gewährleisten. DataSource

Das obige ist der detaillierte Inhalt vonWie filtert ich eine DataGridView, die an einen Datensatz gebunden ist, ohne ihre Datenquelle zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage