Kendo UI Grid - 不会显示继承的列

时间:2013-04-19 17:12:56

标签: asp.net-mvc grid kendo-ui

对于我的所有模型实体,我继承了一个基类,但是当我尝试将一个继承的字段放在网格上时,它就不会显示它们。 我的解决方法是在派生类上创建一个包装器属性,现在网格显示该列。

例如:

public class BaseEntity
{
    public Guid RowId  { get; set; }
    public bool Deprecated { get; set; }
    public bool Deleted { get; set; }<br/>
    public DateTime DateTimeStamp { get; set; }
}

public class Foo : BaseEntity
{
    public int FooId { get; set; }
    public string Description{ get; set; }
}

和网格设置

@(Html.Kendo().Grid<Foo>()
.Name("Grid")
.Columns(cols =>
{
    cols.Bound(c => c.FooId);
    cols.Bound(c => c.Description);
    cols.Bound(c => c.DateTimeStamp).Format("{0:yyyy-MM-dd HH:mm}").Title("Date/Time").Sortable(false);
.Pageable()
.Sortable()

为了使它工作,我必须添加一个引用基类属性的属性,如下所示:

public class Foo : BaseEntity
{
    public int FooId { get; set; }
    public string Description{ get; set; }
    public new DateTime DateTimeStamp
    {
        get { return base.DateTimeStamp; }
        set { base.DateTimeStamp = value; }
    }
}

有没有办法避免在派生类上使用包装器属性?

由于

0 个答案:

没有答案