KendoUI网格自定义弹出模板创建按钮


KendoUI Grid Custom Popup template for create button

我已经安装了带有弹出选项的KendoGrid。

现在我被困在某个地方,我找不到任何帮助来修复它与我想要的方式。

所以这里是问题,我面临的KendoGrid弹出式编辑。

当我点击添加新记录时,顶部的标题显示编辑,就像我点击编辑时一样。

http://jsfiddle.net/valchev/BCBzS/1/

按钮也显示更新,而不是它应该保存按钮在创建弹出窗口..

我想我必须在下面添加一些像这样的东西来创建新的记录。

editable: {
    mode: "popup",
    template: kendo.template($("#popup_editor").html())
},

并有弹出创建模板不同于编辑模板?

有谁能帮我解决这个问题吗?

如果你看一下弹出式编辑的演示页面,这似乎是正常的行为…

但是你可以欺骗和使用栅格的edit事件来改变这一点。只需在此事件的开头添加以下代码:

if(!e.model.Id) {
    $(".k-window .k-window-title").text("Add new record");
    $(".k-window .k-grid-update").html("<span class='"k-icon k-update'"></span>Create");
}   

查看更新后的jsFiddle

您可以使用Kendo UI网格定位来更改弹出标题。

要更改Edit标题,您应该在网格中定义:

editable  : {
    mode : "popup",
    window : {
        title: "Create",
    }
},

为了改变按钮的标签,我们需要做一个小技巧…这些标签可以在column.command中定位如下:

columns   : [
    {
        command: [
            {
                name: "edit",
                text: { edit: "Modify", update: "Save", cancel: "Cancel"}
            }
        ],
    },
    ...

问题是窗口标题和按钮标签在编辑和创建按钮之间是共享的,所以改变一个就改变了两个。你能找到两种标签都适用的吗?

查看它在JS中的运行

添加以下代码

                           edit: function (e) { if (!e.model.isNew()) {
                                e.container.kendoWindow("title", "Update Address");
                            } else {
                                e.container.kendoWindow("title", "New Address");
                            }
                        }