加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 带有dropdownList的Telerik网格

发布时间:2020-12-16 06:30:36 所属栏目:asp.Net 来源:网络整理
导读:现在我已经尝试解决这个问题几个小时了,我即将放弃…… 我正在使用Telerik的MVC 3网格控制器.在我的网格中,我希望下拉列表选择的项目对应于用户的角色.下拉列表具有所有用户角色. @(Html.Telerik().Grid(Model) .Name("Grid").TableHtmlAttributes(new { wid
现在我已经尝试解决这个问题几个小时了,我即将放弃……

我正在使用Telerik的MVC 3网格控制器.在我的网格中,我希望下拉列表选择的项目对应于用户的角色.下拉列表具有所有用户角色.

@(Html.Telerik().Grid(Model)
    .Name("Grid").TableHtmlAttributes(new { width="800"})
    .Columns(columns =>
    {
        //if (userIsInWhateverRole){
        //    columns.Template(o => Html.Action(GenerateYourLinkStuffHere));
        //}
        columns.Bound(o => o.Name).Width(150);
        columns.Bound(o => o.Email).Width(120);
        columns.Template(
            @<text>
                @Html.DropDownList(item.Role,(IEnumerable<SelectListItem>)item.Roles)
                @Html.DropDownListFor(x => item.Role,(IEnumerable<SelectListItem>)item.Roles)
            </text>
        ).Width(120);
    })
    .Sortable()
    .Scrollable()
    .Groupable()
    .Filterable()
    .Pageable(paging => paging.PageSize(5))
)

解决方法

你应该尝试这样的事情

在你的模型中,为Role属性添加一个属性[UIHint(“Role”)](保持简单的字符串)

按原样加载网格

columns.Bound(o => o.Name).Width(150);
columns.Bound(o => o.Email).Width(120);
columns.Bound(o => o.Roll).Width(120);

在EditorTemplates中添加一个名为Role.cshtml的视图(这是一个文件夹,目录如View /(controller-specific-folder)/ EditorTemplates),最后将您的下拉列表放在Role.cshtml视图中.

有关详细信息http://www.telerik.com/community/forums/aspnet-mvc/grid/combo-box-in-grid.aspx
样品http://www.telerik.com/ClientsFiles/327900_TelerikMvcGridEditingDropdown.zip

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读