2

我在我的 grails 应用程序中使用 Kendo 网格,我的要求是每一行都应该显示一个按钮,单击该按钮时,插入一个新行,其值与顶行相同。请任何人帮忙。

谢谢

4

1 回答 1

1

这个问题可以使用自定义模板来解决。例如:

$("#myGrid").kendoGrid({
    dataSource: {
        schema: {
            model: {
                id: "id"
            }
        }
    },
    columns: [
        {field: 'some_field', title: 'some title'},
        {field: '', title: '', template: '<a href="\\#" onclick="duplicateRow(#=id#); rertun false;">duplicate row</a>'}
    ]
});

请注意,此示例假定网格中的每个对象都有一个名为“id”的唯一字段。

一个示例 duplicateRow 方法:

function duplicateRow(id) {
    var selectedItem = $("#myGrid").data("kendoGrid").dataSource.get(id);
    var newItem = createNewItem(selectedItem);
    $("#myGrid").data("kendoGrid").dataSource.add(newItem);
}

请注意,您必须编写 createNewItem 函数,该函数应该使用新 id 从 selectedItem 创建副本。插入新项目的位置取决于您在网格中使用的排序。

于 2012-08-24T13:28:39.677 回答