我正在创建一个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
});
});
答案 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>