0

私はこの問題について同様の質問と回答を読み、これを行うためにさまざまな方法を試しましたが、成功しませんでした。レコードは、姓の順序ではなく、ランダムな順序でデータグリッドに表示されます。前もって感謝します。

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;
4

3 に答える 3

3

これはおそらく、LastName ではなく NameID で注文しているためです...これを試してください:

orderby myrow.LastName
于 2012-05-06T04:49:50.183 に答える
2

これでいいと思います

IEnumerable<NameTable> nameitems = (from myrow in theEntities.NameTable.AsEnumerable()
     orderby myrow.LastName
     select new NameTable { 
       NameID = myrow.NameID, 
       FirstName = myrow.FirstName, 
       LastName = myrow.LastName 
     });
于 2012-05-06T04:50:08.077 に答える
2

でソートしNameID、 ではありませんLastName

また、どのタイプtheEntities.NameTableですか?おそらく、 を作成してCollectionViewを追加し、SortDescriptionこれを の にすることができItemsSourceますDataGrid

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

myCollectionView.SortDescriptions.Add(new SortDescription("LastName", ListSortDirection.Ascending));
于 2012-05-06T05:05:20.147 に答える