0

行をあるグリッドから別のグリッドに移動しようとしています。行を 2 番目のグリッドに追加することはできますが、1 番目のグリッドの行を削除することはできません。

これが私のコードです:

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

Oleg が addRowData と delRowData の呼び出しで行を交換すると言うように、問題は解決されるはずです。2 つの行を選択して他のグリッドに移動しようとすると、問題は発生しませんでした。grid1 からすべての行を追加し、2 つの選択で 1 つの行のみを削除しています。 .

したがって、次の方法でコードを記述しました。

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 に答える
0

行からデータを保存した後、を使用する前に行を削除する必要がありaddRowDataます。オプションは、グリッドの行を表す対応する要素の属性のrowid値です。そのため、最初に同じ行 ID を使用すると、1 つの HTML/ XHTMLページで許可されていない ID の重複が発生します。の呼び出しで行を交換すると、問題は解決するはずです。id<tr>addRowDataselectedIdaddRowDatadelRowData

于 2012-11-18T21:31:55.660 に答える
0

ここのstackoverflowのスレッドの1つに、より包括的な答えがあります。

jqgridでローカルデータを含む行を削除する方法

于 2012-11-18T06:38:31.610 に答える