4

我正在尝试对 ListBox 中的项目进行排序。但是,这样做后,项目值将设置为项目文本。任何帮助,将不胜感激。

lbxCustomers.DataSource = lbxCustomers.Items.Cast<ListItem>().Reverse().ToList();
lbxCustomers.DataBind();
4

3 回答 3

5

可能首先您应该将列表存储在通用集合中,然后对其进行排序。像这样的东西:

List<ListItem> list = new List<ListItem>(lbxCustomers.Items.Cast<ListItem>());
list = list.OrderBy(li => li.Text).ToList<ListItem>();
lbxCustomers.Items.Clear();
lbxCustomers.Items.AddRange(list.ToArray<ListItem>());
于 2012-05-21T19:16:32.043 回答
0

设置数据源后尝试重置列表框的DisplayMemberValueMember属性。很多时候,如果控件已经绑定并且您再次设置 DataSource,那么它会删除 DisplayMember/ValueMember 属性。

于 2012-05-21T18:52:01.043 回答
0

尝试单独对列表进行排序。在下一步中指向 Text 值和 Data 值。数据绑定控件。

于 2012-05-21T19:15:20.340 回答