如何在下拉列表中按字母顺序对值进行排序? vb.net

时间:2012-08-08 12:23:20

标签: vb.net sorting listitem

我正在尝试在下拉列表中对值进行排序,这是我的代码

   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。但Sort没有定义属性。

让我知道排序值的最佳方法。感谢

3 个答案:

答案 0 :(得分: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 :(得分:1)

快速的方法是将ListItem放入List。然后使用默认的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()

答案 2 :(得分:1)

尝试使用lambda:

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

当然,如果item是一个字符串。