5

当使用自定义模板创建从 kendoui 网格启动的弹出添加和编辑表单时,我似乎找不到一种简单的方法来设置标题。当我尝试以下示例时,添加和编辑操作在弹出窗口的标题栏中都有“编辑”:

标记:

<script id="popup-editor" type="text/x-kendo-template">
  <p>
    <label>Name:<input name="name" /></label>
  </p>
  <p>
    <label>Age: <input data-role="numerictextbox" name="age" /></label>
  </p>
</script>
<div id="grid"></div>

JavaScript:

$("#grid").kendoGrid({
  columns: [
    { field: "name" },
    { field: "age" },
    { command: "edit" }
  ],
  dataSource: {
    data: [
      { id: 1, name: "Jane Doe", age: 30 },
      { id: 2, name: "John Doe", age: 33 }
    ],
    schema: {
      model: { id: "id" }
    }
  },
  editable: {
    mode: "popup",
    template: kendo.template($("#popup-editor").html())
  },
    toolbar: [{ name: 'create', text: 'Add' }]
});

小提琴演示问题:http: //jsfiddle.net/codeowl/XN5rM/1/

问题是当您按下添加或编辑按钮时,弹出窗口中的标题栏显示:“编辑”。我希望它在您按下“添加”按钮时显示“添加”,并在按下“编辑”按钮时显示“编辑”。

感谢您的时间,

问候,

斯科特

4

2 回答 2

9

如果您想要一个简单的解决方案,请将代码添加到网格的编辑事件中,以检查调用编辑时创建的模型是新模型还是现有模型,并相应地设置文本:

...

edit: function (e) {
   //add a title
   if (e.model.isNew()) {
       $(".k-window-title").text("Add");
   } else {
       $(".k-window-title").text("Edit");
   }
}

...

希望这可以帮助...

于 2013-10-15T10:26:56.720 回答
3

如果您唯一需要做的就是添加标题,您应该使用:

editable  : {
    mode : "popup",
    window : {
        title: "Edición",
    }
},

除非您需要定义其他内容,否则您不需要定义模板。

您修改的小提琴在这里:http: //jsfiddle.net/OnaBai/XN5rM/2/

于 2013-10-15T07:46:31.483 回答