我有一个RadGridView
我填充如下:
public MainWindow()
{
InitializeComponent();
Occupations = _dbContext.Occupations.ToList();
DataGrid.ItemsSource = Occupations;
}
Occupation
实体类看起来像这样(为简洁起见,删除了属性):
public partial class Occupation : XTimeEntity
{
public Occupation()
{
this.BUSCOMPLs = new List<BUSCOMPL>();
this.EMPLOYEEs = new List<EMPLOYEE>();
}
public short OccupationCodeId { get; set; }
public short SiteCodeId { get; set; }
public short OccupationActive { get; set; }
public string OccupationName { get; set; }
public virtual ICollection<BUSCOMPL> BUSCOMPLs { get; set; }
public virtual ICollection<EMPLOYEE> EMPLOYEEs { get; set; }
}
代码运行时,在MainWindow
的最后一行,我收到错误(SqlException
):
无效的对象名称'dbo.OccupationBUSCOMPL'
无效的对象名称'dbo.OccupationEMPLOYEE'
这些集合当然应该与RadGridView
的列创建无关?它应该只包含OccupationCodeId
到OccupationName
。我从来没有在其他网格上发现过这个问题。什么可能导致这种情况?
答案 0 :(得分:0)
根据Telerik的说法......
RadGridView控件的默认行为是生成其列 自动基于底层数据源。这意味着 当您将RadGridView控件的ItemsSource设置为a时 例如,员工集合将创建一个单独的列 对于Employee对象的每个公共属性。这是 默认行为,它不需要任何额外的努力 从你那边。只需设置RadGridView的ItemSource即可 准备好了。
来源:http://www.telerik.com/help/wpf/gridview-columns-defining-columns.html
因此,您的所有属性都将自动生成。如果您阅读本页(以及其他文档),则会非常清楚地说明如何生成所需的列。
快速编辑..本指南还将帮助您快速指向“不自动生成列”http://www.telerik.com/help/wpf/gridview-prevent-column-autogenerate.html
干杯。