使用列时不显示下拉列表.剑道网格中的外键

本文关键字:网格 下拉列表 显示 | 更新日期: 2023-09-27 18:01:48

在剑道网格中,当我使用列时。ForeignKey,我没有得到下拉。我需要一个国家列表的下拉列表。我哪里做错了!!请帮助。我已经包括了模型,视图和控制器。

MatchViewModel:

  public short MatchID { get; set; }      
  public virtual Country Country1 { get; set; }    

CountryModel:

  public short CountryID { get; set; }       
  public string Name { get; set; }    

这是我的观点

@(Html.Kendo().Grid((System.Collections.Generic.IEnumerable<FootballPredictor.Models.Match        ViewModel>)ViewData["matches"])       
        .Name("grid")       
        .Columns(columns =>   
        {   
     columns.Bound(m => m.MatchID).Width(50);      
     columns.ForeignKey(m => m.Country1.Name, (IEnumerable)ViewBag.Countries, dataFieldText:     "Name", dataFieldValue: "CountryID");       
     columns.Command(command => { command.Edit(); command.Destroy(); }).Width(150);    
        }) .ToolBar(toolbar => toolbar.Create())      
       .Editable(editable => editable.Mode(GridEditMode.InLine))       
       .Editable(e => e.DisplayDeleteConfirmation("Are you sure to delete?"))      
       .HtmlAttributes(new { style = "height:280px;" })      
       .Pageable()      
       .Scrollable()      
       .DataSource(ds => ds     
       .Server()      
       .PageSize(10)     
       .Model(m =>      
       {      
           m.Id(p => p.MatchID);      
           m.Field(p => p.MatchID).Editable(false);       
     m.Field(p => p.Country1).Editable(true);      
      })      
      .Read(read => read.Action("Index", "Match"))      
       .Create(update => update.Action("Create", "Match"))      
       .Update(update => update.Action("Edit", "Match"))      
       .Destroy(update => update.Action("Delete", "Match"))     
    ))      

控制器:

在控制器中,我将列表分配给ViewBag. countries .我已经检查了我正在获取ViewBag中的列表。

使用列时不显示下拉列表.剑道网格中的外键

尝试修改

columns.ForeignKey(m => m.Country1.Name, (IEnumerable)ViewBag.Countries, dataFieldText:     "Name", dataFieldValue: "CountryID");       

columns.ForeignKey(m => m.Country1.Name, (IEnumerable<Country>)ViewBag.Countries, "Name", "CountryID");       

假设Enumerable是Country

的集合