DataGridView Werte Filtern - Richtig anzeigen.

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    DataGridView Werte Filtern - Richtig anzeigen.

    Moin! :)
    Ich habe ein normales Datagridview mit dem Namen dgvGewinnübersicht.
    Ich möchte den Inhalt, filtern.
    Also nach bestimmten Sachen suchen.
    In diesen Datagridview steht zum Beispiel Drucken 4,00 €.
    Wenn ich nun nach Drucken 4 Euro suche.
    Soll die passende Zeile angezeigt werden.
    Ich hoffe man versteht was ich damit meine.
    Freue mich auf eure Hilfe.
    BIG THX

    Code bis jetzt:
    Falscher Code gelöscht...



    Edit1:
    Danke, für deine Antwort. :)

    Ich habe das Problem nun simpel gelöst.
    Zuerst erstelle ich eine neue SQL-Temp Tabelle.
    In dieser füge ich per INSERT INTO meine Datensätze.
    Dann habe ich eine Tabelle mit dieser ich dann, ganz normal arbeiten kann.
    Sobald ich die WinForm verlasse säubere ich den Inhalt mit TRUNCATE.
    So habe ich das Probelm gelöst! ^^


    VB.NET-Quellcode

    1. SELECT TOP 1000 [VollständigerName]
    2. ,[Surfen]
    3. ,[Drucken]
    4. ,[Gutscheine]
    5. ,[Einnahmen]
    6. ,[letzteAufladung]
    7. FROM [dbo].[tblGewinnübersichtTemp]

    Visual Basic.NET 8o
    MS-SQL
    8o

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Cheffboss“ ()

    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ich habe eine Funktion für das suchen und auch bei sehr großen Datenmengen funktioniert das super. Vielleicht hilft es dir.

    VB.NET-Quellcode

    1. Public Sub SearchDataGrid(ByVal DataGridInput As DataGridView)
    2. Try
    3. If DataGridInput.Rows.Count = 0 Then
    4. MessageBox.Show("Es gibt noch keine Daten zum suchen...", "???", MessageBoxButtons.OK, MessageBoxIcon.Question)
    5. Exit Sub
    6. End If
    7. Dim Wert As String
    8. Dim FoundFirstLine As Integer
    9. Wert = InputBox("Wert eingeben", "Abfrage")
    10. ' der Benutzer kann alles kleinschreiben, ich mache es wieder GROSS
    11. Wert = StrConv(Wert, VbStrConv.Uppercase)
    12. ' Wenn abbrechen gedrück wird oder kein Text enthalten ist, dann verlassen wir diese Funktion
    13. If Wert = String.Empty Then
    14. Exit Sub
    15. End If
    16. ' rücksetzen der letzten Suche....
    17. FoundFirstLine = -1
    18. Dim dgv As DataGridView = DataGridInput
    19. dgv.MultiSelect = True
    20. dgv.ClearSelection()
    21. Cursor.Current = Cursors.WaitCursor
    22. For col As Integer = 0 To dgv.Columns.Count - 1
    23. If dgv.Columns(col).ValueType IsNot Nothing Then
    24. 'dgv.Columns(col).ValueType.Equals(GetType(String)) Then
    25. For r As Integer = 0 To dgv.Rows.Count - 1
    26. Dim vl As Object = dgv.Rows(r).Cells(col).Value
    27. If vl IsNot Nothing AndAlso
    28. Not IsDBNull(vl) AndAlso
    29. StrConv(LTrim(RTrim(vl.ToString)), VbStrConv.Uppercase).Contains(Wert) Then
    30. dgv.Rows(r).Selected = True
    31. ' global_var.oArray(r, 0) = dgv.Rows(r).Cells(0).Value.ToString
    32. If FoundFirstLine = -1 Then
    33. FoundFirstLine = r
    34. End If
    35. ' springe zur ersten gefundenen Zeile
    36. dgv.FirstDisplayedScrollingRowIndex = FoundFirstLine
    37. End If
    38. Next r
    39. End If
    40. Next col
    41. If FoundFirstLine = -1 Then
    42. MessageBox.Show("Suchen beendet, Keine Daten gefunden", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
    43. Else
    44. MessageBox.Show("Suchen beendet, Die Zeilen in denen Daten gefunden wurde, sind markiert worden", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
    45. End If
    46. Catch ex As System.Exception
    47. System.Windows.Forms.MessageBox.Show(ex.Message, "Fehler in Anwendung", MessageBoxButtons.OK, MessageBoxIcon.Error)
    48. End Try
    49. Cursor.Current = Cursors.Default
    50. End Sub

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

    Öhm, naja. Rundum-Try-Catch-Block, VB6-Funktionen und die Suche findet immer nur das erste passende Ergebnis sind jetzt nicht so dolle.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.