我正在尝试在 Devexpress 详细网格控件中显示来自两个相关实体的数据
public class ParentTable
{
public int ParentID { get; set; }
public string ParentData1 { get; set; }
public string ParentData2 { get; set; }
public virtual ICollection<ChildTable> ChildDataCollection { get; set; }
}
public class ChildTable
{
public int ChildID { get; set; }
public int ParentID { get; set; }
public string ChildData1 { get; set; }
public string ChildData2 { get; set; }
}
使用 Fluen API 描述关系:
modelBuilder.Entity<ParentTable>()
.HasKey(e=> e.ParentID)
.HasMany(e => e.ChildDataCollection)
.WithRequired()
.HasForeignKey(e => e.ParentID });
ParentList 是来自 ParentTable 的数据,而 ChildList 来自 ChildDataCollection
xml:
<dxg:GridControl
AutoPopulateColumns="True"
CurrentItem="{Binding CurrentParentItem, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=ParentList}">
<dxg:GridControl.DetailDescriptor>
<dxg:DataControlDetailDescriptor ItemsSourceBinding="{Binding ChildDataCollection}">
</dxg:DataControlDetailDescriptor>
</dxg:GridControl.DetailDescriptor>
</dxg:GridControl>
如果我设置 DataControlDetailDescriptor Item Source 是 ChildDataCollection 一切正常,但是如果我需要修改这个集合怎么办(我正在根据这些数据创建一个列表并希望将其绑定到 DataControlDetailDescriptor ItemSource)
我需要 ChildList 将是详细的 ItemSource 并且我不幸运... emty rows :( 我需要这个新的 ChildDataList