Datagridview durchsuchen in Visual Basic

Hallo,

ich habe ein Datagridview, welches ich mit einer Xml-Datei befülle
Dim filePath As String = „radioliste.xml“
radiodataset.ReadXml(filePath)
DataGridView1.DataSource = radiodataset
DataGridView1.DataMember = „radiosender“

Die Xml-Datei ist nach folgendem Muster aufgebaut:

Antenne BayernDeutschland - BayernMixmms://wms.webradio.antenne.de/

Jetzt habe ich die Daten im Datagridview steh und möchte diese durchsuchen:

Dim radiosender As DataTable = radioDataSet.Tables(„radiosender“)

Dim view As DataView = radiosender.AsDataView()
view.RowFilter = „Name=’“ & TextBox5.Text & „’“
DataGridView1.DataSource = view
DataGridView1.AutoResizeColumns()

Jetzt habe ich das Problem, dass wenn ich in meine Textbox5 einen Suchtext eingebe und bestätige immer das Suchergebnis angezeigt bekomme, in der der Sendername genau mit dem eingegebenen text übereinstimmt. Was muss ich ändern, dass es reicht, nur einen Teil des Namens eingeben muss und trotzdem ein Ergebnis bekomme.

Etwa so: Ich gebe Antenne ein und bekomme das Ergebnis indem der Name Antenne Bayern ist.

Hallo,

ersetze die Zeile
view.RowFilter = „Name=’“ & TextBox5.Text & „’“
durch
view.RowFilter = „Name like '*“ & TextBox5.Text & „*’“

Der * am Anfang und Ende des Textes steht für eine beliebige Anzahl zeichen. Wenn Du nach alle Einträgen suchen willst, die mit Deinem Suchtext beginnen, dann laß den * am Anfang weg

LG Cornelia

Hast Du es mal mit Jokerzeichen versucht (* für beliebige Anzahl Zeichen, ? für ein Zeichen)?

Vielen Dank, das hat mir echt geholfen

Hallo,
ich habe keine Zeit es zu Testen aber Folgendes müßte funktionieren:

view.RowFilter = „Name LIKE’*“ & TextBox5.Text & „*’“
alternativ mal
view.RowFilter = „Name LIKE’%“ & TextBox5.Text & „%’“
probieren

Grüße,
Frank

vielen Dank

Hallo!

Habe mit dem DataGridView noch nicht gearbeitet, aber in Anlehnung an SQL sollte folgendes funktionieren:

view.RowFilter = "Name like '\*" & TextBox5.Text & "\*'"

Hi Jakob

Sorry, mit Datagrid kenne ich mich nicht aus.

Aber auf dem ersten Blick könnte ein Ansatzpunkt die Definition des Filters sein. Du forderst ‚Name=Inhalt TextBox5.Text‘. Dieses fordert exakte Gleichheit.

Probier stattdessen mal
view.RowFilter = „Name=’*“ & TextBox5.Text & „*’“
(beachte die Wildcards)

Gruß
Cas

Hallo jakob_2012!

So müsste es funktionieren…

dv.RowFilter = "Nachname LIKE '" & TextBox5.Text & "\*'"

lg
Michael

Hallo,

den RowFilter solltest du dann folgendermaßen aufbauen:
„Name LIKE '*“ & TextBox5.Text & „*’“
oder
„Name LIKE '%“ & TextBox5.Text & „%’“

Das „*“ oder „%“ davor und dahinter zusammen mit dem „LIKE“ bedeuten, dass zu dem Suchtext sich anderer Text davor bzw. dahinter befinden kann. Du könntest dann auch nur „Bay“ eingeben und er sollte „Antenne Bayern“ finden.