0

我正在尝试将行从一个网格移动到另一个网格。我能够将该行添加到第二个网格,但无法删除第一个网格中的行。

这是我的代码:

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 时,我无法正确添加。任何人都可以在代码中帮助我。提前致谢

4

3 回答 3

0

您应该在保存行中的数据之后使用. 该选项是表示网格行的相应元素的属性值。因此,如果您第一次使用相同rowid ,您将获得 id 重复,这在一个 HTML/XHTML 页面上是不允许的。如果你用电话交换线路,问题应该得到解决。addRowDatarowidid<tr>addRowDataselectedIdaddRowDatadelRowData

于 2012-11-18T21:31:55.660 回答
0

在 stackoverflow 的其中一个线程中有一个更全面的答案,可能会对您有所帮助;

如何在jqgrid中删除带有本地数据的行

于 2012-11-18T06:38:31.610 回答
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");
}

要获取 idsOfSelectedRows,请查看演示,您也可以查看链接

于 2012-11-19T09:57:07.107 回答