Filter und Sortierung beim Databinding funktionieren nicht

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

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von dertobis.

    Filter und Sortierung beim Databinding funktionieren nicht

    Hallo,

    ich habe eine eigene Klasse File und binde diese per BindingList an ein DataGridView.
    Nun ist das Problem, dass weder Filter noch Sortierung funktionieren.
    Hier mein rudimentärer Code:

    VB.NET-Quellcode

    1. Imports System.ComponentModel
    2. Public Class Form1
    3. Dim fileBindingSource As New BindingSource
    4. Dim filesList As New BindingList(Of File)
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. Dim file As New File(1, "Test", 101)
    7. filesList.Add(file)
    8. Dim file2 As New File(2, "Test2", 102)
    9. filesList.Add(file2)
    10. fileBindingSource.DataSource = filesList
    11. fileBindingSource.Filter = "Filename = 'Test'"
    12. fileBindingSource.Sort = "Size Desc"
    13. DataGridView1.DataSource = fileBindingSource
    14. End Sub
    15. End Class
    16. Public Class File
    17. Dim m_pos As String = ""
    18. Dim m_filename As String = ""
    19. Dim m_size As Double = 0
    20. Sub New(pos, name, size)
    21. m_pos = pos
    22. m_filename = name
    23. m_size = size
    24. End Sub
    25. #Region "Properties"
    26. Public Property Position() As Integer
    27. Get
    28. Return m_pos
    29. End Get
    30. Set(value As Integer)
    31. m_pos = value
    32. End Set
    33. End Property
    34. Public Property Filename() As String
    35. Get
    36. Return m_filename
    37. End Get
    38. Set(value As String)
    39. m_filename = value
    40. End Set
    41. End Property
    42. Public Property Size() As Double
    43. Get
    44. Return m_size
    45. End Get
    46. Set(value As Double)
    47. m_size = value
    48. End Set
    49. End Property
    50. #End Region
    51. End Class


    Zumindest das Filtern sollte doch ohne Weiteres funktionieren?
    Bindinglist unterstützt eben kein Sortieren und Filtern.

    Willst du Sortieren und Filtern, dann nimm zB typisiertes Dataset: vier Views-Videos
    Du kannst nu natürlich auch hergehen, Bindinglist beerben, und selbst was dranproggen, um ihr Sortieren und Filtern beizubringen (du kannst aber auch typisiertes Dataset nehmen).