如何在 dot net core web 应用程序中填充 Telerik 网格内的下拉列表

问题描述

我已经开始在我的 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...