2

GrailsアプリケーションでKendoグリッドを使用していますが、すべての行で1つのボタンも表示され、そのボタンをクリックすると、一番上の行と同じ値で1つの新しい行が挿入される必要があります。

ありがとう

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);
}

selectedItem から新しい ID でコピーを作成する createNewItem 関数を作成する必要があることに注意してください。新しい項目が挿入される位置は、グリッドで使用している並べ替えによって異なります。

于 2012-08-24T13:28:39.677 に答える