2014-09-30 40 views
1

我正在使用ListView來顯示項目,但我刪除它,我試圖排序數據,而沒有一個可視化組件。你們爲這類數據推薦什麼?如何執行多個數據排序

Dim eProducts As New Concurrent.ConcurrentDictionary(Of String, String()) 
    eProducts("759504") = {"Nike Shoes", "75.50", "9/29/2014", "Description"} 

我需要一種按照(ID,名稱,價格,日期和描述)對產品進行分類的方法。對於這個數組,列表,字典最適合什麼?

+0

我不知道如果dictoanaries支持LINQ但數組和列表確實,順便可以很容易的LINQ – 2014-09-30 03:01:47

+0

這並未對於你想要做的任何事情來說,這看起來都不是一個特別優雅的方法。我們能否看到更多的例子,以及如何對它們進行排序? – 2014-09-30 03:13:09

+0

我可以用MySQL中的表格很容易地做到這一點,並通過DESC和ASC進行排序,但是現在我無法在.Net上找到正確的控件,它可以讓我做到這一點。 – PaulWill 2014-09-30 03:15:47

回答

1

我建議使用類或結構來爲您的產品定義產品類型。

然後LINQ的OrderBy擴展方法很容易在存儲陣列進行排序,即

' Example products defined as anonymous types 
Dim products() = { _ 
    New With { Key .Id=759504, .Name="Nike Shoes", .Price=75.5, .Date=#9/29/2014# }, _ 
    New With { Key .Id=759505, .Name="Puma Shoes", .Price=69.9, .Date=#9/30/2014# } _ 
} 

' Sort by id ascending 
Dim byId = products.OrderBy(Function(product) product.Id)     
' Sort by price descending 
Dim byPrice = products.OrderByDescending(Function(product) product.Price)