Avatar billede thlund Nybegynder
18. maj 2005 - 14:28 Der er 10 kommentarer og
1 løsning

Sortere en DataTable

Er det bare mig der er blind, eller er der ingen fast (indbygget) metode til at sortere end datatabel efter en given kolonne ???

MVH
Thomas
Avatar billede hostgirl Nybegynder
18. maj 2005 - 15:21 #1
Kan du ikke smide dataen i et datagrid, der er mulighed for at du kan sortere
Avatar billede thlund Nybegynder
18. maj 2005 - 18:09 #2
Det kunne man måske, men jeg ønsker at gøre det uden at data skal vises.
Jeg søger at kunne reducere søgetiden i mit temmelig store dataset.
Avatar billede arne_v Ekspert
18. maj 2005 - 20:49 #3
Kan du ikke sætte en ORDER BY på den SQL som fylder din DataTable ?
Avatar billede dna Nybegynder
18. maj 2005 - 20:51 #4
på din datatable har du et view (defaultview), som du kan bruge en sort expression på.

datatable.defaultview.Sort = "kolonnenavn"

dna
Avatar billede burningice Nybegynder
18. maj 2005 - 21:44 #5
så skal man bare sørge for at binde til view'et, og ikke selve datatable'n (der er stor forskel).
Avatar billede dna Nybegynder
18. maj 2005 - 22:07 #6
ups ja.. det glemte jeg at nævne.

Godt at cyberfessor var lidt vågen! :-)

dna
Avatar billede thlund Nybegynder
19. maj 2005 - 09:19 #7
Jamen altså, jeg vil sortere tabellen, ikke den måde den bliver vist. Er det ikke det i snakker om.

Hvis jeg nu tilføjer en række eller to, så vil jeg gerne kunne sortere så de står i alfabetisk rækkefølge og ikke i en kronologisk rækkefølge.

Thomas
Avatar billede thlund Nybegynder
19. maj 2005 - 10:18 #8
Måske er dette en smule bagvendt, men det fungerer

    Private Sub SortByVal(ByRef table As DataTable)
        Dim rws() As DataRow
        Dim i As Integer
        Dim dtb As New DataTable()

        dtb = table.Copy

        rws = dtb.Select("id > 0", "val ASC")

        With table
            For i = 0 To .Rows.Count - 1
                .Rows(i).Item("id") = rws(i).Item("id")
                .Rows(i).Item("val") = rws(i).Item("val")
            Next
        End With
End Sub

Hvis nogen kan gøre det (væsentlig) fiksere, så er der stadig points at hente.

Thomas
Avatar billede burningice Nybegynder
19. maj 2005 - 16:39 #9
jo, det er det vi snakker om. Men hvorfor skulle man have lyst til at sortere sin table, hvis det ikke var for at få det vist i den rigtige rækkefølge?
Avatar billede thlund Nybegynder
20. maj 2005 - 08:44 #10
Fordi jeg har et MEGET stort dataset og jeg vil derfor oprette indeks (f.eks. A,B,C etc) for at kunne finde en record hurtigere.
Avatar billede thlund Nybegynder
06. oktober 2005 - 08:37 #11
Tjah
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester