4

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

它工作得很好,只有childBindingSource.SupportSorting属性是假的。 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;
}
4

1 回答 1

1

在一些帮助下,我们使用 codeplex 上的这个链接完成了这项工作

我不得不更改我的班级以使用 SortableBindingList 而不是 BindingList。令我感兴趣的是,单独的 BindingList 对于主级别的网格来说已经足够了——但对于包含细节的网格来说却不是这样。

于 2013-01-23T22:42:01.857 回答