2014-03-26 4 views
1

데이터를 표시하는 데 DGRID을 사용하고 있습니다. Store.query를 사용하여 저장소의 레코드를 쿼리하고 store.put을 사용하여 저장소에 레코드를 삽입 할 수 있다는 것을 알고 있습니다. 그러나 저장소의 업데이트를 수행하고 싶습니다. 저장소의 레코드를 업데이트하려면 어떻게해야합니까?Dgrid 업데이트 데이터 저장소

메모리 저장소를 업데이트 한 다음 데이터베이스를 먼저 업데이트 한 다음 메모리 저장소를 새로 고치는 대신 데이터베이스로 다시 푸는 것이 좋습니다.

데이터

var data = [ 
      { id:"1", idType: "Passport", idNumber: "12121545WWW" }, 
      { id:"2",idType: "Drivers Permit", idNumber: "11212154515 FF"}, 
      { id:"3",idType: "Electoral Identification", idNumber: "425123123121"} 
     ]; 

기능

데이터

Store.put({id: enteredId, idNumber:enteredIdNumber,idType:enteredIdType}) 

숨어 추가 ERY 데이터

Store.query({idType: enteredIdType}) 

업데이트 데이터 -이 당신이 당신의 저장 구조가 어떤지의 예를 가지고 있습니까

Store.update({idNumber:enteredIdNumber,idType:enteredIdType}) 

답변

7

dojo/store API에 대해 다소 혼란스러워 보입니다.

  • store.add(item)

    항목을 업데이트하는 데 사용되는 새 항목
  • store.put(item)을 추가하는 데 사용됩니다,하지만 종종 항목
을 삭제하는 데 사용되는 특정 ID
  • store.remove(id)에 새로 추가 할 수 있습니다

    dojo/store/Observable으로 상점을 포장하는 경우 new Observable(new Memory({ data: ... }))이면 add/put/remove을 호출하면 그리드가 자동으로 업데이트됩니다.

    자세한 내용은 dojo/store documentation을 참조하십시오.

    그리드 자체를 통해 레코드를 업데이트하는 방법을 알고 싶다면 editor column plugin을 살펴보십시오.

  • +0

    이 문제를 해결할 수 있습니까? http://stackoverflow.com/questions/26564146/dojo-dgrid-databinding – devdar

    1

    을 수행하는 방법을 혼란 스러워요? 일반적으로 상점 식별자가 "ID"인 경우 다시 입력하면 행이 업데이트됩니다. 새 데이터를 입력 한 후 grid.refresh()를 호출하면 테이블이 업데이트됩니다.

    관련 문제