我正在尝试将行从一个网格移动到另一个网格。我能够将行添加到第二个网格但不能删除第一个网格中的行。
这是我的代码:
var RowList;
RowList = $('#questions_list').getGridParam('selarrrow');
for (var i=0, list=RowList.length; i<list; i++)
{
var selectedId = RowList[i];
var selectedData = $('#questions_list').jqGrid('getRowData', selectedId );
$('#selectedQuestions_list').jqGrid('addRowData', selectedId , selectedData );
$('#questions_list').jqGrid('delRowData',selectedId );
}
但是我无法正确删除行,当我添加delrowdata时,我无法正确添加。可以在代码中帮助我。谢谢提前
答案 0 :(得分:0)
在stackoverflow的其中一个主题中有一个更全面的答案可能对你有帮助;
答案 1 :(得分:0)
您应该删除之后行行 之前 选项addRowData
是表示网格行的相应rowid
元素的id
属性的值。因此,如果您首先将<tr>
与相同的 rowid addRowData
一起使用,您将获得id重复项,这在一个HTML / XHTML页面上是不允许的。如果您使用selectedId
和addRowData
的来电交换线路,则问题应该得到解决。
答案 2 :(得分:0)
正如Oleg所说,用addRowData和delRowData的调用交换行应该解决问题。当我选择2行并尝试移动到其他网格时它没有发生,它是从grid1添加所有行并且只删除一行两个选择。
所以我用以下方式编写了代码:
var questionids = idsOfSelectedRows;//$('#questions_list').getGridParam('selarrrow');
var questionLength = questionids.length;
for (var i=0; i < questionLength; i++)
{
var selectedId = questionids[i];
var selectedData = $('#questions_list').jqGrid('getLocalRow', selectedId);
$('#selectedQuestions_list').jqGrid('addRowData', selectedId, selectedData);
$('#selectedQuestions_list').trigger("reloadGrid");
}
for (var i = 0; i < questionLength ; i++) {
var selectedId = questionids[i];
console.log("delete is "+ $('#questions_list').jqGrid('delRowData', selectedId));
//$('#questions_list').trigger("reloadGrid");
}