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 を使用して新しい Row を作成し、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 に答える