Zelle in Datagridview suchen?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von oliver3121.

    Zelle in Datagridview suchen?

    was fuer txt dateien folgendes ist
    system.io.file.readalllines(combinedpath1).Contains(textbox1.tostring)


    wuerde ich gerne fuer eine zelle in einer datagridview anwendeen. mein versuch war:

    Tabellendataset.Tabellen.ReadXml(combinedpath1).Contains(DataGridView1.CurrentCell.Value.ToString)

    hat aber leider nicht geklappt.

    lg
    würde aber voraus setzen, das du mit einem typ Dataset arbeitest, welches über ein Binding verfügt. Mit der Binding Source kannst Du sehr charmant Filter setzen...
    das DGV soll ja nur Daten anzeigen, die in einer Binding Source (DT) vorhanden sind.
    "Hier könnte Ihre Werbung stehen..."
    mir scheint aber als würde er die xml direkt in eine Datatable einlesen...

    Der weg ist doch eher: XML in Dataset einlesen, Tabelle ans DGV binden, Daten werden in Bindingsource geladen, diese dann filtern und feddisch...
    "Hier könnte Ihre Werbung stehen..."
    Ich würde (unelegant) die Zeilen per Schleife durchgehen lassen und wenn die Werte (Such - u. Zellwert) übereinstimmen, auf die Zelle focusieren.
    Vielleicht irgendwie so:

    VB.NET-Quellcode

    1. For x As Integer = 0 To DataGridView1.Rows.Count - 2
    2. Try
    3. Dim mystring As String
    4. mystring = 'irgendwas'
    5. If DataGridView1.Rows(x).Cells("Column1").Value = mystring Then DataGridView1.Rows(x).Cells("Column1").Focus
    6. Catch ex As Exception
    7. End Try
    8. Next

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „oliver3121“ ()

    Hallo, zum filtern:

    VB.NET-Quellcode

    1. Dim mystring As String
    2. mystring = 'irgendwas'
    3. Me.My_BindingSource.Filter = String.Format("Feld1 like '*{0}*'", mystring)

    * bei like für Ähnlichkeit, ohne * für exakten Wert
    Zahlen müssen ggf. konvertiert werden
    Aber das wird nicht das sein, was Du suchst, denn im DGV wird nur noch diese Zeile angezeigt werden.

    Die betreffende Zeile für einen gesuchten Wert im DGV markiere ich mit:

    VB.NET-Quellcode

    1. Dim mystring As String
    2. mystring = 'irgendwas'
    3. Dim itemFound As Integer = My_BindingSource.Find("Feld1", mystring)
    4. Me.My_BindingSource.Position = itemFound