jqGrid,一个自定义操作按钮(每行)复制行及其数据

时间:2012-09-03 12:49:20

标签: jquery jqgrid

我有一个非常基本的jqGrid表(#list),其中包含一列:actions。 我以某种方式弄清楚如何添加自定义函数,但不知道如何生成代码来复制其内容(如果可能的话,使用addrowData方法)。 到目前为止,这是我的代码:

(...)
    gridComplete: function () {
    var grid = jQuery("#list");
    var ids = grid.jqGrid('getDataIDs');
    //console.log(ids);
    for (var i = 0; i < ids.length; i++) {
        var rowId = ids[i];

        var cbutton = "<input style='height:22px;width:75px;' " + "type='button' value='Duplicate' " + "onclick=\"Duplicate('#list'," + rowId + ");\" />";
        grid.jqGrid('setRowData', rowId, {
            action: cbutton
        });
    }
(...)

和自定义函数Duplicate:

    Duplicate = function (table, Id) {
            console.log(table);//#list
            console.log(Id);//whatever row Id clicked
//need a way to duplicate the row

        }

我想我可能会将所有值作为参数传递给函数,使用addrowData创建一个新的Row,然后执行foreach以使用data(myData)填充行。

任何线索?

1 个答案:

答案 0 :(得分:0)

以下是我发现自己的解决方案,效果很好:

 Duplicate = function (table, Id) {
   newId = null;
   myData = jQuery(table).getLocalRow(Id);//or getRowData(Id)
   jQuery(table).jqGrid('addRowData', newId, myData, "after", Id);
   }