4


1

trigger( 'reload')を使用してajax呼び出しを行った後、jqgridがリロードしない

変更されたばかりの新しいデータでグリッドを再読み込みしようとしているので、ユーザーは変更した新しいデータを見ることができます。

私のアプローチ:

jQuery("#relCasePick").click( function(){

   var ids=jQuery("#list10").jqGrid('getGridParam','selarrrow');

   $.ajax({
      type: "POST",
      url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick&orderNumbers="+ids,
      data: JSON.stringify(ids),
      dataType: "json"
   });

   jQuery("#list10").setGridParam({rowNum:10,datatype:"json"}).trigger('reloadGrid');
});

このボタンをクリックすると… 私はデータを正しく送信していますが、新しいデータで更新されていないデータをリロードしているとき…​.誰かが助けることができれば本当に感謝します..

1 Answer


4


ここに表示されるのは、投稿するAjax呼び出しと、グリッドをリロードする別の呼び出しです。 ここでの問題は、どのajax呼び出しが最初に終了するかです。 あなたは知らない。 あなたの最善の策は、Ajax投稿で成功コールバック関数を使用することです。 これは、投稿が成功した場合にのみグリッドを再読み込みします。

jQuery("#relCasePick").click( function(){

  var ids =jQuery("#list10").jqGrid('getGridParam','selarrrow');

   $.ajax({
     type: "POST",
     url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick&orderNumbers="+ids,
     data: JSON.stringify(ids),
     dataType: "json",
     success: function(data) {
       jQuery("#list10").setGridParam({rowNum:10,datatype:"json" }).trigger('reloadGrid');
     }
  });
});