带有菜单项的每个单元格中的菜单列

时间:2014-12-10 11:51:17

标签: razor kendo-ui kendo-grid

我想使用Kendo Grid MVC在每个单元格中创建一个菜单项我已经设法让网格显示每个单元格中的菜单项但是当我点击菜单时我没有看到菜单项

需要在自己的列中显示菜单项,这就是为什么我没有将它绑定到特定属性。

关于我做错的任何想法?

 @(Html.Kendo().Grid(Model)
.Name("gridDropDownMenu")
.Columns(columns =>
{
    columns.Template(@<text></text>).Title("").Width(120).HtmlAttributes(new { @class = "templateCell" }).ClientTemplate(
            Html.Kendo().Menu()
                .Name("menu_#=ProductID#")
                .Items(its =>
                {
                    its.Add().Text("Actions").Items(nested =>
                    {
                        nested.Add().Text("Test 1");
                        nested.Add().Text("Test 2");
                    });

                })
                .ToClientTemplate().ToHtmlString()
            );


    columns.Bound(p => p.ProductName);
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Pageable()
.Scrollable()
.HtmlAttributes(new { style = "height:250px;" })
.DataSource(dataSource => dataSource
    .Ajax()
    .Batch(true)
    .PageSize(20)
    .ServerOperation(false)
    .Events(events => events.Error("errorHandler"))
    .Model(model =>
    {
        model.Id(p => p.ProductID);
        //model.Field(p => p.ProductID).Editable(true);
        model.Field(p => p.CategoryID).DefaultValue(1);
    })

    .Read(read => read.Action("ForeignKeyColumn_Read", "Home"))
    .Update(update => update.Action("ForeignKeyColumn_Update", "Home"))
    .Create(create => create.Action("ForeignKeyColumn_Create", "Home"))
    .Destroy(destroy => destroy.Action("ForeignKeyColumn_Destroy", "Home"))

)

1 个答案:

答案 0 :(得分:0)

通过添加以下内容解决:.Events(ev => ev.DataBound("initMenus"))

function initMenus(e) {
    $(".templateCell").each(function(){
        eval($(this).children("script").last().html());
    });
}