将数据复制到JQGrid中

时间:2014-08-27 14:41:51

标签: javascript jquery jqgrid

我正在创建一个jqgrid我创建一个带有2列的行,带有下拉框。使用ajax调用填充下拉列表。我的要求是我想在UI中点击ADD按钮复制这一行。例如,现在一行进入jqgrid,在单击ADD按钮后,应显示具有相同内容的新行,而不刷新第一行中更改的值。有没有办法做到这一点?我的jqgrid代码是

$("#tbl").jqGrid('GridUnload');
$("#tbl").jqGrid(
        {
            url : "/searchCriteria.do",
            datatype : 'json',
            colModel : 
            [   
                {name : "test1",label : "TEST1", search : false,cellEdit:true, editable: true,edittype:"select",width:150  ,formatter: createDropDown,title:false},
                {name : "test2",label : "TEST2", search : false,cellEdit:true, editable: true,edittype:"select",width:150  ,formatter: createDropDown,title:false}
            ],
            viewrecords: true, 
            loadonce:true,
            width: 1000,
            multiselect : true
        });
});

1 个答案:

答案 0 :(得分:1)

您可以结合使用getLocalRow和addRowData方法来实现您的功能。 Docs for these methods

我们在你的HTML中说你有一个按钮:

<button id="add" type="button">ADD</button>

在您的javascript中,您可以:

<script>
$("#add").click(function(){
    var id_of_new_row = something; //you haven't specified which are the exact rows you'd like selected. 
    //you could use the getDataIDs method to get the row-IDs you're looking for
    var new_row_data = $("#gridId").jqGrid('getLocalRow', id_of_new_row));
    $("#gridId").jqGrid('addRowData',id_of_new_row+1, new_row_data, "last");
  });
</script>