2017-06-19 7 views
0

データベースからグリッド値を更新しています。 CSページからJSグリッドに値を渡します。削除、編集はdbと完全に連携しています。しかし検索後、グリッドは更新されません。私はCSページに検索値を渡し、DBから対応する検索値を取得できます。しかし、値はJSgridで更新されていません。JSGridが検索値で更新されない

 var Status;   
    var lastPrevItem; 
    var clients =<%=gridData%> 

    $("#jsGrid").jsGrid({ 
     width: "100%", 
     height: "450px", 

     filtering: true, 
     //filterable:true, 
     //inserting: true, 
     autosearch: true, 
     editing: true, 
     sorting: true, 
     paging: true, 
     autoload: true, 
     pageSize: 25, 
     pageButtonCount: 5, 
     deleteConfirm: "Do you really want to delete the Department?", 

     controller: //db, 
      { loadData: function (filter) { 
        if (filter["ID"] != "" || filter["Name"] != "") { 
        return $.ajax({ 
         type: "POST", 
         async: true, 
         processdata: false, 
         paging: true, 
         contentType: "application/json; charset=utf-8", 
         url: "myurl/mycsmethod", 
         data: "{'ID':'" + filter["ID"] + "','Name':'" + filter["Name"]+ "'}",  

         success: function (data) { 

         }, 
         error: function (XHR, errStatus, errorThrown) { 
          var err = JSON.parse(XHR.responseText); 
          errorMessage = err.Message; 
          alert(errorMessage); 
         } 
        }); 
        } 
      }, 
      updateItem: function (clients) { 
       var result = $.Deferred(); 
       alert(result); 
       var ajaxDeferred = $.Deferred().reject(); 
       alert(ajaxDeferred); 
       ajaxDeferred.done(function (updatedItem) { 
        result.resolve(updatedItem); 
       }).fail(function() { 
        result.resolve(lastPrevItem); 
       }); 
       return result.promise(); 
      }, 
      }, 

     onItemDeleting: function (args) { 
      //its working fine 
     }, 
     onItemEditing: function (args) { 
      //its working fine 
     }, 

     data: clients, 

     fields: [ 
      { type: "control" }, 
      { name: "ID", visible: false, width: 0, validate: "required" }, 
      { name: "Name", visible: false, width: 0, validate: "required" }, 
     ] 
    }); 

私は、検索ボタンがトリガされるとjsgridで<% = gridData%>を更新したいです。

+0

'lodaData'は、約束事か、ちょうど静的な項目の配列を返すべきです。実際の例では、クライアント側のフィルタリングを実装しました。上記のようにサーバー側のフィルタリングを実装する場合は、 '$ .ajax'(条件付きではない)を常に返してください。フィルタリングは 'loadData'を呼び出し、フィルタリングパラメータをサーバに送り、' $ .ajax'によって返されます。約束はフィルタリングされたデータで解決され、期待どおりに動作するはずです。 – tabalin

答えて

0

私はコードを改善する必要がある場合は、上記のコード、friends.Butと今働いて、私に教えてください。

関連する問題