2012-08-08 60 views
2

我想在下拉值進行排序,這裏是我的代碼如何在下拉列表中按字母排序值? vb.net

For Each Keystring as Long in HashValue.Keys 
     Dim LItem As New ListItem 
     LItem.Text = cw.Name.ToString() 
     LItem.Value = Keystring.ToString 
     ddRole.Items.Add(LItem) 
    Next 

我試過LItem.Sort。但排序沒有定義屬性。

讓我知道排序值的最佳方法。謝謝

+1

添加前對列表進行排序。 – Oded 2012-08-08 12:25:44

回答

1

快速的方法是把你的ListItem成爲List。然後使用默認列表.sort()方法對該列表進行排序。然後將其綁定到您的下拉列表中。

dim ddList as List(Of ListItem) 
For Each Keystring as Long in HashValue.Keys 
    Dim LItem As New ListItem 
    LItem.Text = cw.Name.ToString() 
    LItem.Value = Keystring.ToString 
    ddList.add(LItem) 
Next 

ddList.Sort() 
ddRole.DataSource = ddList 
ddRole.DataBind() 
+0

什麼是'爲每個鍵在HashValue.Keys長'用於此,我不明白,舊帖子,但我有麻煩哈哈哈 – 2016-05-11 14:36:58

2

您是否嘗試過僅使用OrderBy

For Each Keystring as Long in HashValue.Keys.OrderBy(Function(key) key) 
     Dim LItem As New ListItem 
     LItem.Text = cw.Name.ToString() 
     LItem.Value = Keystring.ToString 
     ddRole.Items.Add(LItem) 
Next 
1

嘗試用拉姆達:

Items2Sort.Sort(function(x1,x2) x1.CompareTo(x2)) 

當然,如果項目是一個字符串。

相關問題