【发布时间】:2015-02-13 00:05:05
【问题描述】:
我在 DataGrid 顶部有一个 ComboBox,它绑定到从 LINQ 到 SQL 映射的可观察集合。那就是我使用“拖放”方法将一个表放入我的 DataClasses,然后填充一个 ObservableCollection。我想让组合框以最新的第一顺序显示项目(这将在名称字段上降序),但找不到任何要设置的属性。似乎对可观察集合进行排序是错误的方法。我认为最简单的方法是使用存储过程而不是表作为 LINQ to SQL 类生成器。我错过了一些更简单的内置解决方案吗?
这是将 LINQ 生成的表添加到我的 observable 集合的类代码:
class ObservableTransmittals : ViewableCollection<Transmittal>
{
public ObservableTransmittals(DataClasses1DataContext dataDc)
{
foreach (Transmittal trn in dataDc.Transmittals)
{
this.Add(trn);
}
}
}
现在从下面开始使用它:
class ObservableTransmittals : ViewableCollection<Transmittal>
{
public ObservableTransmittals(DataClasses1DataContext dataDc)
{
var linq = dataDc.Transmittals.OrderByDescending(x => x.TransName);
foreach (Transmittal trn in linq)
{
this.Add(trn);
}
}
}
【问题讨论】: