DGV

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Marsianer.

    Hallozusammen, ich habe 2 DGV. Im DGV1 sind in den Spalten 1,2,3 Daten aufgelistet. Ich gebe in TextBox einen Buchstaben oder ein Wort ein drücke einen Button un es sollen die Daten die zutreffen in DGV2 aufgelistet werden. Soweit funktioniert das ganze auch nur ich bekomme im DGV2 nur leere Zeilen.
    Kann mir da jemand weiterhelfen???
    Danke schon mal.
    lg Kekslaster
    Mein Code dazu

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Suchen
    2. DGV2.Rows.Clear()
    3. SucheUndMarkiere(Me.DGV1, TextBox4.Text)
    4. einfügen()
    5. End Sub
    6. Private Sub SucheUndMarkiere(ByVal DGV As DataGridView, ByVal Suchbegriff As String)
    7. Dim anzahl_gefunden As Integer = 0
    8. With DGV
    9. ' Anzahl der Zeilen
    10. For i = 0 To DGV.Rows.Count - 1
    11. Dim Gefunden As Boolean = False
    12. 'Anzahl der Spalten
    13. For g = 0 To .ColumnCount - 1
    14. If .Rows(i).Cells(g).Value.ToString.ToLower.Contains(Suchbegriff.ToLower) Then
    15. Gefunden = True
    16. anzahl_gefunden += 1
    17. End If
    18. Next g
    19. .Rows(i).Selected = Gefunden
    20. Next i
    21. End With
    22. DGV2.Rows.Add(anzahl_gefunden)
    23. End Sub
    Hi,

    VB.NET-Quellcode

    1. DGV2.Rows.Add(anzahl_gefunden)

    Wenn ich das richtig sehe, dann weist du dein Prog mit dieser Zeile an eine Reihe von Rows ins zweite DGV einzufügen... und zwar leer, denn du übergibst nur die Zahl der einzufügenden Rows, nicht ihren Inhalt. Du müsstest dir so eine Art List (of) von deinen DataGridView2.Rows machen und da die Werte übertragen. Diese List wäre dann als DataSource des DGV2 zu nehmen.

    Ich persönlich würde das aber anders versuchen zu lösen (jedenfalls soweit ich deine Funktionalität verstehe): Du willst doch im DGV immer alle Daten drinne haben und im DGV2 die Daten, die dem String in deiner Textbox entsprechen, right? Häng doch ans DGV2 eine eigene BindingSource, die die gleiche Datasource hat, wie die Bindingsource deines DGV1. Wennde dann inner Textbox was eingegeben hast, dann benutze die Filterfunktion der DGV2-Bindingsource, um die drei Datenfelder abzufragen.
    Ich code nur 'just for fun'! Damit kann ich jeden Mist entschuldigen, den mein Interpreter verdauen muss :D
  • Benutzer online 1

    1 Besucher

  • 2 Benutzer haben hier geschrieben