关于list.orderby的用法疑惑

时间:2022-05-27 20:59:07
其实就我想实现一个功能,这个功能就是 我设计一个comboBox,
功能1. 我想把里面的选项当我选择后按回车就到了下面的listBox里面,而且comboBox里面删除该选项,
功能2.最后当我在listBox删除一个选项,那个这个选项就回到当初comboBox的原定位置
这是我的想法:
我用一个bindingsource(下面简称bs)绑定一个comboBox的数据源,然后comboBox.dataSource=bs,然后再让bs.dataSource=list;
功能1我已经实现了,现在我要实现功能2,我就想先吧list排序,把在listBox删除的选项放回comboBox里面再对list排序,现在问题就是 不能简单的对list.orderby(),让后刷新bs...是达不到排序的效果的...请教请教...谢谢...

9 个解决方案

#1


为什么要对listbox进行排序··?你删除的时候不是用listbox.items.removeat() 方法么? 排序也是对listbox的items进行排啊······

#2


引用 1 楼 yp136 的回复:
为什么要对listbox进行排序··?你删除的时候不是用listbox.items.removeat() 方法么? 排序也是对listbox的items进行排啊······


我没有对listBox排序,我只是将list排序后在放回listBox里面
我不是用listBox.items.removeat()删除的,而是直接用bs.remove()这个方法的
排序只要对list排序一个就可以显示出来的...

#3


引用 1 楼 yp136 的回复:
为什么要对listbox进行排序··?你删除的时候不是用listbox.items.removeat() 方法么? 排序也是对listbox的items进行排啊······

想请教一下怎么对listBox.items排序呢~?

#5


List<A> listA = new List<A>();
listA.OrderBy(a => { return a.Name; });
这个是按Name属性排序。

#6


list=list.OrderBy(l=>l).ToList();

#7


引用 5 楼 liuhongzhe 的回复:
List<A> listA = new List<A>();
listA.OrderBy(a => { return a.Name; });
这个是按Name属性排序。


我的问题是不能在listBox显示出排序的效果

#8


引用 6 楼 q107770540 的回复:
list=list.OrderBy(l=>l).ToList();

用了这个方法以后,还是是不能在listBox显示出排序的效果

#9


第一个功能:你先获得comboBox选中的值,在keyDown事件下,删除选中的值,在listBox中添加这个值。
comboBox.Items.RemoveAt(index); 
listBox.Items.Insert(索引值,要插入的值);
第二功能跟第一功能相反

#1


为什么要对listbox进行排序··?你删除的时候不是用listbox.items.removeat() 方法么? 排序也是对listbox的items进行排啊······

#2


引用 1 楼 yp136 的回复:
为什么要对listbox进行排序··?你删除的时候不是用listbox.items.removeat() 方法么? 排序也是对listbox的items进行排啊······


我没有对listBox排序,我只是将list排序后在放回listBox里面
我不是用listBox.items.removeat()删除的,而是直接用bs.remove()这个方法的
排序只要对list排序一个就可以显示出来的...

#3


引用 1 楼 yp136 的回复:
为什么要对listbox进行排序··?你删除的时候不是用listbox.items.removeat() 方法么? 排序也是对listbox的items进行排啊······

想请教一下怎么对listBox.items排序呢~?

#4


#5


List<A> listA = new List<A>();
listA.OrderBy(a => { return a.Name; });
这个是按Name属性排序。

#6


list=list.OrderBy(l=>l).ToList();

#7


引用 5 楼 liuhongzhe 的回复:
List<A> listA = new List<A>();
listA.OrderBy(a => { return a.Name; });
这个是按Name属性排序。


我的问题是不能在listBox显示出排序的效果

#8


引用 6 楼 q107770540 的回复:
list=list.OrderBy(l=>l).ToList();

用了这个方法以后,还是是不能在listBox显示出排序的效果

#9


第一个功能:你先获得comboBox选中的值,在keyDown事件下,删除选中的值,在listBox中添加这个值。
comboBox.Items.RemoveAt(index); 
listBox.Items.Insert(索引值,要插入的值);
第二功能跟第一功能相反