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

时间:2013-04-18 11:29:58

标签: php kendo-ui kendo-grid

我已经使用POPUP选项安装了KendoGrid。

现在我被困在某个地方,我无法找到任何帮助以我想要的方式解决它..

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

当我点击添加新记录时,顶部的标题显示编辑,与我点击编辑时显示的相同。

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

按钮显示更新,而不是创建弹出窗口中的保存按钮..

我想我必须在下面添加更多类似内容来创建新记录..

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

并让弹出式创建模板与编辑模板不同?

有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

如果您查看demo page进行弹出式编辑,这似乎是正常行为......

但是你可以欺骗并使用网格的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

答案 1 :(得分:0)

您可以使用Kendo UI网格本地化来更改弹出标题。

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

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

要更改按钮的标签,我们需要做一些小技巧......这些标签可以在column.command中进行本地化,如下所示:

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

问题是窗口标题和按钮标签都是在编辑按钮和创建按钮之间共享的,因此更改两者都会更改。你能找到一些适合两者的标签吗?

看到它在JS Fiddle

中运行

答案 2 :(得分:0)

通过添加以下代码

来完成此操作
                           edit: function (e) { if (!e.model.isNew()) {
                                e.container.kendoWindow("title", "Update Address");
                            } else {
                                e.container.kendoWindow("title", "New Address");
                            }
                        }