在visualbasic中对数据集进行排序

时间:2014-05-03 19:10:29

标签: vb.net

我不知道自己做错了什么。我曾经在几个论坛上试图弄清楚如何在visual basic中对表进行排序。 我对数据视图感兴趣,但注意接缝工作。

我有一个用户可以进行新插入的logg。它有3列。 "日期","工具","评论"。 当我的VB应用程序加载程序从Access数据库中读取表时,我通过sql短语得到了我的排序:

"select * from Logg ORDER BY Logg.Datum DESC"

用户对表格进行了更改后,我想再次对其进行排序。我已经畏缩了以下,但没有任何反应。无论我做什么,订单都是一样的。

DS是我的数据集,dw是我的数据视图," Datum"我要排序的专栏

        DS.Tables("hela").DefaultView.Sort = "Datum DESC"
        dw = DS.Tables("hela").DefaultView
        For i = 0 To antal_poss - 1
            LOGG(i, 0) = dw.Table.Rows(i).Item(3)
            LOGG(i, 1) = dw.Table.Rows(i).Item(1)
            LOGG(i, 2) = dw.Table.Rows(i).Item(4)
        Next i

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在您的代码中,您使用DataView来检索Table,然后使用DataRows,但是您可以按照DataTable上的顺序提取它们。

您需要按照DataView的顺序循环。
像这样的东西

   Dim i As Integer = 0
   For Each row As DataRowView in dw
        LOGG(i, 0) = row.Item(3)
        LOGG(i, 1) = row.Item(1)
        LOGG(i, 2) = row.Item(4)
        i += 1
    Next i

当然,这假设您的LOGG数组包含足够的条目来容纳检索到的每一行。它与DataTable中的行数相同