2013-04-08 5 views
2

Получил первый проект MVC4, проект Entity Framework с пользовательским интерфейсом Kendo.Отображение иностранных данных в сетке пользовательского интерфейса Kendo

Моя модели, что я отображение в сетке выглядит следующим образом:

public partial class RuleEntry 
{ 
    public RuleEntry() 
    { 
     this.RuleEntriesCases = new HashSet<RuleEntriesCas>(); 
    } 
    [Key] 
    public int ID { get; set; } 
    public string Country { get; set; } 
    public Nullable<int> Family { get; set; } 
    public Nullable<int> IP { get; set; } 
    public string RuleKey { get; set; } 
    public Nullable<int> Status { get; set; } 
    public string Title { get; set; } 

    public virtual Country Country1 { get; set; } 
    public virtual Family Family1 { get; set; } 
    public virtual IP IP1 { get; set; } 
    public virtual RuleStatus RuleStatus { get; set; } 
    public virtual ICollection<RuleEntriesCas> RuleEntriesCases { get; set; } 
} 

Атрибут Страна может быть «СЭ» и является внешним ключом к таблице «Страна», которая будет содержать имя, "Швеция". Модель Country выглядит следующим образом:

public partial class Country 
{ 
    public Country() 
    { 
     this.RuleEntries = new HashSet<RuleEntry>(); 
    } 
    [Key] 
    public string Code { get; set; } 
    public string Name { get; set; } 

    public virtual ICollection<RuleEntry> RuleEntries { get; set; } 


} 

Я хочу сетку со всеми данными RuleEntry, но с соответствующими внешними ключами имен, на данный момент только ключевые шоу. Мой код сетки, как следующее:

@(Html.Kendo().Grid(Model)  
.Name("Grid") 
.Columns(columns => 
{ 
    columns.Bound(p => p.Country); 
    columns.Bound(p => p.Family); 
    columns.Bound(p => p.IP); 
    columns.Bound(p => p.RuleKey); 
    columns.Bound(p => p.Status); 
    columns.Bound(p => p.Title); 

}) 
.Groupable() 
.Sortable() 
.Scrollable(s => s.Height("auto")) 
.Filterable() 
.ColumnMenu()) 

Как мне это сделать? В модели, контроллере или просмотре?

Благодаря

ответ

2

В классе RuleEntry добавьте ForeignKey атрибут стране1, как показано ниже:

[ForeignKey("Country")] 
public virtual Country Country1 { get; set; } 

В сетке используйте columns.Bound(p => p.Country1.Name);

+0

Спасибо! Работает как шарм :) –

Смежные вопросы