0

我有一个非常基本的 jqGrid 表(#list),其中包含一列:操作。我以某种方式弄清楚如何添加自定义函数,但不知道如何生成代码以复制其内容(如果可能,使用 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 = function (table, Id) {
            console.log(table);//#list
            console.log(Id);//whatever row Id clicked
//need a way to duplicate the row

        }

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

有什么线索吗?

4

1 回答 1

0

这是我自己找到的解决方案,效果很好:

 Duplicate = function (table, Id) {
   newId = null;
   myData = jQuery(table).getLocalRow(Id);//or getRowData(Id)
   jQuery(table).jqGrid('addRowData', newId, myData, "after", Id);
   }
于 2012-09-04T09:06:40.083 回答