2012-12-12 5 views
0

초당 dojo.data.ItemFileWriteStore을 사용하여 dojox.grid.EnhancedGrid을 새로 고침합니다. 나는 dijit.layout.TabContainer이 있는데, 그 중 하나에 EnhancedGrid이 있습니다. 탭을 전환하고 표 탭으로 돌아 왔을 때 전체 grid이 사라집니다.격자가 새로 고침 될 때 Dojo 격자가 숨김

해결책은 무엇입니까?

var store = new dojo.data.ItemFileWriteStore({ 
    url: '', 
    data: result, 
    urlPreventCache: false 
}); 
grid.setStore(store); 
+0

좀 더 코드, 특히 부분을 보여주십시오 상점이나 그리드 등을 '새로 고침'하십시오. 더 나은 것은 문제를 재현하는 바이올린이 될 것입니다. – nozzleman

답변

1

나는 EnhancedGrid 사용에 대한 확실하지 않다하지만 난 역동적이고 변화하는 매트릭스를 만들 DataGrid를 사용하는 것과 동일한 오류가 발생한이 내가 그것을 고칠 수 있었다 방법이다.

귀하의 문제가 발생하기 때문에 :

  1. 새로운 저장 (다른 fieldName에 등)를 지원하지 않습니다 그리드에있는 당신의 오래된 구조의 속성입니다. 구조가 올바로 작동하지 않으면 Dojo가 불평하고 그리드가 표시되지 않습니다.

  2. 나는이게 진짜라고 확신한다. 이 저장소의 첫 번째 선언에 적응하기 때문에 grid.setStore(newStore)은 두 번째로 작동하지 않습니다. grid.setStore()grid.setStructure() 메서드를 시도했지만 첫 번째 "새로 고침"후에 나타나지 않았습니다.

내 솔루션 :

빈 당신의 dojo.empty()와 컨테이너와 당신의 새로운 저장소와 새로 고칠 때마다 해당 컨테이너에 새로운 격자를 만들 수는

+0

Daniel에게 감사드립니다. 전체 그리드를 삭제하고 재생성하는 것은 실현 가능한 솔루션이 아닙니다. 그것을하는 다른 방법이 있습니까? – harris

관련 문제