使用列时不显示下拉列表.剑道网格中的外键
本文关键字:网格 下拉列表 显示 | 更新日期: 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