2016-07-07 22 views
0

私はHTMLページに単純なjsGridを持っています。私はグリッドを編集してEmployee ID列だけを有効にするように設定しました。また、従業員IDが更新されたときにコールバックをトリガーし、従業員情報(名前や住所など)を取得するためのWebサービスを呼び出すように、スクリプトでonItemUpdatedコールバックを実装しました。 Webサービスが結果に応答すると、jsGrid updateItem APIを使用してそれぞれアイテムの名前と住所が更新されます。アイテムが更新され、jsGridのupdateItemコールバックを使用すると問題が発生する

問題は、イベントがトリガーされた後、updateItem APIもonItemUpdatedコールバックを再度トリガーするため、コールバックへの再帰呼び出しを実行します。

  onItemUpdated: function (args) { 
       console.log(args.item); 

       // edit the item. 
       $("#jsGrid").jsGrid("updateItem", args.item, { 
        Id: args.item.Id, 
        EmployeeId: args.item.EmployeeId, 
        EmployeeName: "Benjamin", 
        CostCenter: "1234", 
        Department: "ITS Department" 
       }); 
      }, 

この問題を解決するにはどうすればよいですか。

ありがとうございます!

答えて

0

onItemUpdated通常、コールバックは、アイテムが更新されたときに追加の処理を行うために使用されます。基本的な更新シナリオでは、設定でcontroller.updateItemを定義するだけです。グリッドの更新は自動的に行われます。

$("#jsGrid").jsGrid({ 
    ..., 

    controller: { 
     loadData: function() { 
      // retriving data request 
      return $.ajax({ ... }); 
     }, 

     updateItem: function(item) { 
      // updating data request 
      return $.ajax({ 
       url: "http://myresource/api/items" 
       type: "PUT", 
       data: item 
      }); 
     } 
    } 

}); 
関連する問題