2012-05-06 9 views
0

私はこの問題について同様の質問と回答を読み、これを行うにはいくつかの方法を試しましたが、成功しませんでした。レコードは、姓で順序付けされていないランダムな順序でデータグリッドに表示されます。前もって感謝します。あなたの代わりに姓の名前IDで発注しているので、おそらくですLinq orderby not working

MyEntities theEntities = new MyEntities(); 

IEnumerable<NameTable> nameitems = (from myrow in theEntities.NameTable.AsEnumerable() 
orderby myrow.NameID 
select new NameTable 
    {NameID = myrow.NameID, 
    FirstName = myrow.FirstName, 
    LastName = myrow.LastName}); 

ObservableCollection<NameTable> nameitemsOC = new ObservableCollection<NameTable>(nameitems); 

return nameitemsOC; 

答えて

3

...これを試してみてください。

orderby myrow.LastName 
+0

ありがとうございます。それは遅く、私はあまりにも頑張っています。 – harpagornis

2

私は、これはNameIDとしないことによってソート

IEnumerable<NameTable> nameitems = (from myrow in theEntities.NameTable.AsEnumerable() 
    orderby myrow.LastName 
    select new NameTable { 
     NameID = myrow.NameID, 
     FirstName = myrow.FirstName, 
     LastName = myrow.LastName 
    }); 
2

あなたがやるべきだと思いますLastName

また、theEntities.NameTableのタイプは?たぶんCollectionViewを作成し、SortDescriptionを追加してDataGridItemsSourceにしてください。

ICollectionView myCollectionView = CollectionViewSource.GetDefaultView(theEntities.NameTable); 

myCollectionView.SortDescriptions.Add(new SortDescription("LastName", ListSortDirection.Ascending));