datagridview durchsuchen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von NscMike.

    datagridview durchsuchen

    Hi ich bins nochmal,

    ich bin im moment dabei mein programm vor ausfällen durch falsche bedienung zu schützen.

    Wenn der User mein DataGridView füllt kann es ja dazu kommen das der User im worstcase 2 oder 3 mal den gleichen namen eingibt. Dies möchte ich verhindern.

    bis jetzt läuft das füllen des DataGridView über eine Textbox + butten ab. Der Butten löst das "speichern" der eingabe in dem datagridview.
    Ist es möglich das der User einen Text eingibt....auf den butten drück und dadurch eine schleife in gang bringt die das ganze datagridview nach den stringeinträgen durchsucht und dann ggf ne fehlermeldung durch ein popup gibt?
    Hallo,

    ich habe dir mal ein kleines Beispiel geschrieben, welches die erste Spalte deiner DataGridView auf doppelte Einträge prüft.
    Solltest du das für Spalte 1, 2 .... und soweiter brauchen, dann einfach erweitern.
    Das Ding ist aber eigentlich selbsterkläred.

    Beispiel:

    VB.NET-Quellcode

    1. Option Strict On
    2. Option Explicit On
    3. Public Class Form1
    4. ' DataGridView prüfen ob Eintrag in Spalte 0 bereits vorhaden ist, wenn nein dann eintragen
    5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    6. Dim Vorhanden As Boolean = False
    7. Dim Eintrag As String = TextBox1.Text
    8. If String.IsNullOrEmpty(Eintrag) Then Exit Sub
    9. ' jeden Eintag in Spalte 0 durchlaufen und vergleichen
    10. Dim count As Integer = DataGridView1.Rows.Count - 1
    11. For i = 0 To count - 1
    12. If Eintrag = CStr(DataGridView1.Rows(i).Cells(0).Value) Then
    13. Vorhanden = True
    14. End If
    15. Next
    16. ' wenn nicht vorhanden dann bitte eintragen
    17. If Vorhanden = False Then
    18. Dim RowCount As Integer = DataGridView1.RowCount - 1
    19. DataGridView1.Rows.Add()
    20. DataGridView1.BeginEdit(CBool(RowCount))
    21. DataGridView1.Rows(RowCount).Cells(0).Value = TextBox1.Text
    22. DataGridView1.Update()
    23. DataGridView1.EndEdit()
    24. Else
    25. ' wenn vorhanden dan nicht eintragen, textbox wieder leeren
    26. TextBox1.Text = ""
    27. End If
    28. Vorhanden = False ' reset
    29. End Sub
    30. End Class


    Dur brauchst
    Form1
    TextBox1
    Button1
    DataGridView1

    dann kannst du C&P machen.

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

    Da dies hier anscheinend das einzige Thema zum druchsuchen von DataGridViews ist schreib ich hier mal weiter.
    Hab den Quellcode probiert, jedoch will er bei mir nicht so ganz!
    Ich wollte ihn noch ein bisschen verkürzen und bin dann auf folgenden Code gekommen:

    VB.NET-Quellcode

    1. Dim count As Integer = DataGridView1.Rows.Count - 1
    2. For i = 0 To count
    3. If Label1.Text = DataGridView1.Rows(i).Cells(0).Value Then
    4. MsgBox("text vorhanden")
    5. Else
    6. MsgBox("text nicht vorhanden")
    7. End If


    Jedoch funktionierte dieser wiederum auch nicht...

    Kann mir jemand helfen?? Bitte

    mfg Mike


    EDIT:
    hat sich erledigt
    Ich habe damals den Code einfach nicht verstanden.


    PS:
    im Quellcode von ChaosBernd müsste das

    VB.NET-Quellcode

    1. For i = 0 To count

    heißen soweit ich mich nicht irre, da man sonst die letzte Row des DataGridViews außer Acht lässt

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „NscMike“ ()