我正在尝试创建一个主 - 详细信息表单,主记录绑定到一个绑定源,详细信息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;
}
答案 0 :(得分:1)
在一些帮助下,我们使用了这个 this link at codeplex
我不得不改变我的类以使用SortableBindingList而不是BindingList。 有趣的是,仅BindingList对于主级别的网格来说已经足够了 - 但不适用于包含细节的网格。