2016-09-01 3 views
2

lightswitch 프로젝트에서 작업 중이며 JsGrid을 사용하고 있습니다. 한 가지 문제가있어서 해결책을 찾지 못했습니다.
여기에 시나리오가 있습니다 : 셀을 업데이트 할 때 데이터베이스 테이블에서 데이터를 가져 오기 위해 격자를 사용합니다. 셀을 다시 클릭하지 않으면 값이 표시되지 않습니다. 두 번째 시간에 업데이트하면 값이 표시되지 않습니다. 새로운 가치가 나타납니다. itemupdated 후 그리드 새로 고침을 시도했지만 여전히 새 값이 즉시 나타나지 않습니다.
내 코드는 여기에 있습니다 :jsGrid의 셀이 업데이트되지 않았습니다

$("#jsGrid").jsGrid({ 
     width: "100%", 
     height: "auto", 
      inserting: true, 
     editing: true, 
     sorting: true, 
     paging: true, 
     autoload: true, 
     controller: { 
      loadData: function() { 
       var deferred = jQuery.Deferred(); 
       myapp.activeDataWorkspace.ApplicationData.Table1Items.load().done(function (data) { 
        deferred.resolve(data.results); 
       }); 
       return deferred.promise(); 
      }, 
      updateData: function() { 
       $("#jsGrid").jsGrid("refresh"); 
      }, 
      deleteItem: function (Item) { 
       $("#jsGrid").jsGrid("refresh"); 
      } 
     }, 
     fields: [ 
      { name: "EmployeeName", type: "text", width: 150 }, 

      { name: "Points", type: "text", width: 200 }, 

      { type: "control", editButton: true,        // show edit button 
       deleteButton: true,        // show delete button 
       clearFilterButton: true,      // show clear filter button 
       modeSwitchButton: true      // show switching filtering/inserting button 


      }] 
     , 
     onItemInserted: function (item) { 

     }, onItemUpdating: function (item) { 


      $("#jsGrid").jsGrid("refresh"); 
     }, 
     onItemUpdated: function (item)  

      { 
      $("#jsGrid").jsGrid("refresh"); 
      console.log("it is updated", item.item); 
      $("#jsGrid").jsGrid("refresh"); 

     } 
    }); 

당신의 도움이 사전에 귀중한 많은 덕분이다.

+1

오버플로 스택에 오신 것을 환영합니다. [코드 형식 지정 방법] (http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks)을 참조하십시오.) – yash

+0

업데이트 후에 빈 행이 보이거나 특정 셀만 표시되지 않습니까? 이 피들을 포크로 찍어서 https://jsfiddle.net/tabalinas/cy8b8Lro/를 재현하려고하거나 문제를보기 위해 공개 링크를 제공 할 수 있습니까? – tabalin

+0

답장을 보내 주셔서 감사합니다.하지만 여전히 동일한 문제가 있습니다. "셀의 값을 업데이트하기 위해 두 번 업데이트를 클릭해야합니다." –

답변

0

희망이 도움이 될 수 있습니다.
updateItem은 업데이트 된 항목 또는 jQuery 약속을 반환하는 함수로 업데이트 된 항목으로 해결됩니다. 항목 개체 업데이트를 수락합니다. 성공적인 업데이트 항목에

enter image description here 당신이 어떤 질문이 경우

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

를 사용하여 아래에 의견을. 자세한 내용은 다음을 참조하십시오.