Datatable sortieren

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von diylab.

    Datatable sortieren

    Hallo,

    hab ein kleines Problem mit dem Sortieren der Daten in einer DataTable.

    Hier erst mal der Code:

    VB.NET-Quellcode

    1. Private _DT As DataTable
    2. ...
    3. Friend Sub DruckenBeginnen(ByVal rArt As String, ByVal rDT As DataTable, ByVal rDTpersonKz As Boolean, ByVal rSort As String)
    4. _Art = rArt
    5. _DT = rDT
    6. _DTpersonKz = rDTpersonKz
    7. WerteSetzen(rSort)
    8. Try
    9. PrintDialog.Document = Me.PrintDocumentFirmen
    10. ...
    11. Private Sub WerteSetzen(ByVal rSort As String)
    12. ...
    13. Dim dtview As DataView = _DT.DefaultView
    14. Select Case rSort
    15. Case "FID"
    16. dtview.Sort = "KF_ID ASC"
    17. Case "WWID"
    18. dtview.Sort = "KF_Referenznummer ASC"
    19. Case "Firma"
    20. dtview.Sort = "KF_Firma1 ASC"
    21. End Select
    22. _DT = dtview.Table
    23. ...


    Das Problem dabei ist, dass das sortieren nicht funktioniert... Hab eine Classe und keine Form, daher auch kein Datagridview, hätte es sonst da sortiert.
    Brauch also eine Sortierung innerhalb der Datatable... die sortiert Datatable soll dann gedrucht werden...

    Was mache ich da falsch ?

    Gruß

    lris08 schrieb:

    Das Problem dabei ist, dass das sortieren nicht funktioniert...

    Hallo Iris,

    was genau funktioniert denn nicht?
    Das Sortieren des DataView sieht soch eigentlich so aus wie es soll laut MSDN .
    Oder liegt es daran, dass das "zurückwandeln" des Views in die DataTable nicht geht?
    Hier mal gucken -> GUCK .

    Ansonsten hat EDR natürlich recht ;) ..

    LG,
    Bruno
    danke...

    habs nun so gelöst

    VB.NET-Quellcode

    1. Dim view As DataView = _DT.DefaultView
    2. Dim dtTemp As DataTable
    3. Select Case rSort
    4. Case "Firma-ID"
    5. view.Sort = "KF_ID ASC"
    6. dtTemp = view.ToTable()
    7. _DT.Clear()
    8. _DT = dtTemp
    9. ...


    jetzt funzelts :)

    danke aber.... :))