问题描述
我已经开始在我的 web dot net core 应用程序中使用 Telerik grid。网格绑定到数据库并填充。但我需要在网格的列之一中有一个下拉列表。问题是下拉列表没有填充。我希望从数据库中填充。 索引页:
public IActionResult OnGetEdit(long ceremonyId)
{
ceremonyGuest = _ceremonyGuestApplication.GetDetail(ceremonyId);
ViewData["guests"] = ceremonyGuest.AllGuests;
return Partial("./Edit",ceremonyGuest);
}
public EditCeremonyGuest GetDetail(long Id)
{
var result = _hContext.Ceremonies.Include(x => x.CeremonyGuests).ThenInclude(x => x.Guest)
.Select(x => new EditCeremonyGuest
{
Id = x.Id,Title = x.Title,CeremonyDate = x.CeremonyDate.ToFarsi(),Guests = MapGuests(x.CeremonyGuests)
}).FirstOrDefault(x => x.Id == Id);
result.AllGuests = _hContext.Guests.Select(x=> new GuestViewModel {
Id=x.Id,FullName=x.FullName,GuestType= GuestTypes.GetGuestType(x.GuestType),Image=x.Image
}).ToList();
return result;
}
仅供参考,在我的结构中,我有一个 INDEX razor 页面和一个绑定到 INDEX 文件的 EDIT razor 视图。换句话说,编辑页面将从索引类中的 OnGetEdit 方法触发。 这是编辑器模板:
@model ServiceHost.Areas.Admin.Pages.CeremonyGuests.IndexModel
@(Html.Kendo().DropDownListFor(m=>m.ceremonyGuest.Guests)
.DataValueField("Guest")
.DataTextField("Guest")
.HtmlAttributes(new { data_bind = "value: Guest" })
.BindTo((System.Collections.IEnumerable)(ViewData["guests"]))
.AutoWidth(true)
)
最后这是 Edid 页面:
@(Html.Kendo().Grid(Model.Guests)
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.GuestId).Width(40).Title("کد");
columns.Bound(c => c.Guest).Width(140).Title("میهمان").EditorTemplateName("GuestEditor");
columns.Bound(c => c.GuestType).Title("نوع میهمان").Width(190);
columns.Bound(c => c.Satisfication).Title("رضایتمندی").Width(150).Editable("returnFalse").ClientTemplate(Html.Kendo().Rating()
.Name("rating_#=GuestId#")
.Min(1)
.Max(5)
.Label(false)
.HtmlAttributes(new { data_bind = "value: Satisfication" })
.Selection("continuous")
.ToClientTemplate().Value);
})
.Events(ev => ev.DataBound("onDataBound"))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("ceremonyGuest","Grid"))
.Model(m => m.Id(id => id.CeremonyId))
)
.Events(ev => ev.DataBound("onDataBound"))
.Editable(e => e.Mode(GridEditMode.InCell))
)
When I click on drop down list:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)