2

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

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

让我知道对值进行排序的最佳方法。谢谢

4

3 回答 3

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
于 2012-08-08T12:41:58.697 回答
1

快速的方法是将你的ListItem放入一个List. .sort()然后使用默认的 List方法对该列表进行排序。然后将其绑定到您的下拉列表。

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()
于 2012-08-08T12:30:23.227 回答
1

尝试使用 lambda:

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

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

于 2012-08-08T12:53:18.157 回答