如何让我的bindingSource支持排序?

时间:2013-01-22 05:36:04

标签: winforms entity-framework-5 bindingsource

我正在尝试创建一个主 - 详细信息表单,主记录绑定到一个绑定源,详细信息datagridview绑定到第二个绑定源

效果很好,只有childBindingSource.SupportSorting属性为false。 masterBindingSource.SupportsSorting是真的。有没有办法让childBindingSource支持排序 - 假设它基于另一个支持排序的绑定源?

masterBindingSource.DataSource = GetBindingSource()   // .SupportsSorting = true
childBindingSource.DataSource = masterBindingSource   // .SupportsSorting = false
childBinding.DataMember = ChildItems

private BindingSource GetBindingSource()
{
   DbSet<ContactEvent> dset = Db.ContactEvents;
   IOrderedQueryable<ContactEvent> qry = dset.Where(p => p.Id > 0).OrderBy(x => x.Id);
   qry.Load();

   BindingList<ContactEvent> bindinglist = dset.Local.ToBindingList();
   var bindingSource = new BindingSource();
   bindingSource.DataSource = bindinglist;
   return bindingSource;
}

1 个答案:

答案 0 :(得分:1)

在一些帮助下,我们使用了这个 this link at codeplex

我不得不改变我的类以使用SortableBindingList而不是BindingList。 有趣的是,仅BindingList对于主级别的网格来说已经足够了 - 但不适用于包含细节的网格。