是否可以(如果是这样)将项目添加到kendo UI网格的列菜单中?

kmp*_*kmp 1 kendo-ui kendo-grid

所以我有一个网格,列上有很好的ol'列菜单,过滤/排序/排除列,一切正常.

美中不足的是,我希望允许用户重命名列标题和UI中显而易见的位置,以允许它在所述列菜单中.

像这样的东西:

示例网格菜单

(其中红色位是我点击的另一个选项,弹出一个小窗口让我输入一个新标题)

这有可能,我该怎么做?

我看到菜单可以自定义,网格演示显示如何调整过滤器弹出窗口中的内容但是我不知道如何添加这个项目(我可以看到我将如何以编程方式进行重命名,但这只是获取一个选项到菜单让我难过).

Lar*_*ner 7

您可以使用columnMenuInit事件.两种可能性:

$("#grid").kendoGrid({
    dataSource: dataSource,
    columnMenu: true,
    columnMenuInit: function (e) {
        var menu = e.container.find(".k-menu").data("kendoMenu");
        var field = e.field;

        // Option 1: use the kendoMenu API ...
        menu.append({
            text: "Rename"
        });

        // Option 2: or create custom html and append manually ..
        var itemHtml = '<li id="my-id" class="k-item k-state-default" role="menuitem">' + 
                       '<span class="k-link"><b>Manual entry</b></span></li>';
        $(e.container).find("ul").append(itemHtml);

        // add an event handler
        menu.bind("select", function (e) {
            var menuText = $(e.item).text();
            if (menuText == "Rename") {
                console.log("Rename for", field);
            } else if (menuText === "Manual entry") {
                console.log("Manual entry for", field);
            }
        });
    }
})
Run Code Online (Sandbox Code Playgroud)

请参阅两个替代方案:http: //jsfiddle.net/lhoeppner/jJnQF/