我正在使用Kendo Grid和自定义弹出模板。
我想一起使用popup
和inline
模式。添加新记录时,网格应使用popup
模式并打开我的自定义模板;编辑时,应使用inline
模式。
我在this DEMO中提到了this blog article,其中显示了如何一起使用popup
和inline
模式,但我无法使用my渲染弹出窗口自定义模板。
有人可以帮我解决这个问题吗?
感谢。
以下是my DEMO:
HTML:
<h3>How to use Kendo-ui Grid use popup with custom template while adding and Inline while editing records</h3>
<div id="grid"></div>
<script id="popup-editor" type="text/x-kendo-template">
<h3>Edit Person</h3>
<p>
<label>Name:<input name="name" /></label>
</p>
<p>
<label>Age: <input data-role="numerictextbox" name="age" /></label>
</p>
</script>
JS:
var ds = {
data: createRandomData(20),
pageSize: 4,
schema: {
model: {
fields: {
Id: { type: 'number' },
FirstName: { type: 'string' },
LastName: { type: 'string' },
City: { type: 'string' }
}
}
}
};
var grid = $("#grid").kendoGrid({
dataSource: ds,
toolbar: [ { text : "Add new record", name: "create", iconClass: "k-icon k-add"} ],
// editable: "inline",
editable: {
mode: "popup",
template: kendo.template($("#popup-editor").html())
},
pageable: true,
columns: [
{ field: "FirstName", width: 100, title: "First Name" },
{ field: "LastName", width: 100, title: "Last Name" },
{ field: "City", width: 100 },
{ command: [ "edit" ]}
]
}).data("kendoGrid");
答案 0 :(得分:3)
我已经编辑了您并创建了这个新的DEMO。
您可以使用Kendo网格的setOptions
方法动态更改编辑模式以及custom template
,如下所示:
$(".k-grid-popup", grid.element).on("click", function () {
// change grid editable mode to popup and set the popup editing template
grid.setOptions({
editable: {
mode: "popup",
template: kendo.template($("#popup-editor").html())
}
});
grid.addRow();
grid.options.editable = "inline";
});