我正在使用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 –