我在我的项目中填写了ComboBox,就像这样
CB_City.ItemsSource = c.Cities;
CB_City.DisplayMemberPath = "city1";
CB_City.SelectedValuePath = "city_id";
CB_City.SelectedValue = 517;
我使用实体框架和c#, 如何按升序排序结果?
仍然不能(我正在尝试很多)我附上完整的代码
using (MorEntities1 c = new MorEntities1())
{
CB_City.ItemsSource = c.Cities;
CB_City.DisplayMemberPath = "city1";
CB_City.SelectedValuePath = "city_id";
CB_City.SelectedValue = 517;
}
答案 0 :(得分:1)
您可以使用:CB_City.ItemsSource = c.Cities.OrderBy(c=>c.Text)
或CB_City.ItemsSource = c.Cities.OrderBy(c=>c.Text)
答案 1 :(得分:1)
另一种选择是CollectionViewSource
使用SortDescription
:
var myViewSource = new CollectionViewSource { Source = c.Cities.ToList() };
myViewSource.SortDescriptions.Add(
new SortDescription("YOUR_PROPERTY", ListSortDirection.Ascending)
);
CB_City.ItemsSource = myViewSource.View;
答案 2 :(得分:1)
除了@Ross的帖子之外,您还可以通过这种方式获得CollectionViewSource
:
var view = CollectionViewSource.GetDefaultView(CB_City.ItemsSource);
view.SortDescriptions.Add(new SortDescription("city1",
ListSortDirection.Ascending));