如何同时使用 Kendo UI Grid 和 popup 和 inline 模式?
How to use Kendo UI Grid with both popup and inline modes?
我正在使用 Kendo 带有自定义弹出模板的网格。
我想同时使用 popup
和 inline
模式。添加新记录时,网格应使用popup
模式并打开我的自定义模板;编辑时,应该使用inline
模式。
我已经提到了 this DEMO in this blog article,它展示了如何一起使用 popup
和 inline
模式,但我无法使用我的自定义模板呈现弹出窗口。
谁能帮我解决这个问题?
谢谢。
这里是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");
我编辑了你的并创建了这个新的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";
});
我正在使用 Kendo 带有自定义弹出模板的网格。
我想同时使用 popup
和 inline
模式。添加新记录时,网格应使用popup
模式并打开我的自定义模板;编辑时,应该使用inline
模式。
我已经提到了 this DEMO in this blog article,它展示了如何一起使用 popup
和 inline
模式,但我无法使用我的自定义模板呈现弹出窗口。
谁能帮我解决这个问题?
谢谢。
这里是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");
我编辑了你的并创建了这个新的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";
});