我正在使用MVVM,并且想按升序排序我的ComboBox
。 存储在ObservableCollection
中的我的项目(来自数据库)始终是以字符串形式存储的数字。c#ComboBox中使用Linq的字符串中的订单号(ObservableCollection)
一旦我过去10我ComboBox
显示1
其次10
。
我可以调整Linq排序吗?
或者我尝试错了吗?
public ObservableCollection<clsItemsModel> MyCollection
{
get { return _MyCollection; }
set
{
_MyCollection = value;
RaisePropertyChanged();
}
}
private void LoadData()
{
MyCollection = _clsItemsDataService.GetItems();
MyCollection.OrderBy(p => p.Items);
}
如果需要,您必须在排序前将字符串转换为整数,例如,1 3 9 10而不是1 10 3 9. – itsme86
'int.Parse(p.Items)'? (尽管'Items'看起来像一个单一值*的直觉名称。) – David
答案在这里: http://stackoverflow.com/questions/6396378/c-sharp-linq-orderby-numbers-that-are-字符串,你不能将它们转换为int –