2013-07-11 3 views
1

저장하기 전에 적어도 하나의 행이 있는지 확인해야합니다. 나는 다음을 시도했다. 그러나 이것은 화면의 눈금을 반영하지 않는다.Dojo EnhancedGrid의 총 행 수는 어떻게 얻습니까?

var storeUOM = dijit.byId('gridUOM').store; 
if (storeUOM._arrayOfAllItems.length == 0) { 
    if (errors.length > 1) errors += '\n'; 
    errors += 'Must setup at least one unit of measure'; 
} 

예를 들어, 그리드가 4 개의 행으로 시작될 수 있으며 사용자가 모두 삭제할 수 있습니다. 이 코드는 여전히 길이 4를 반환합니다.

+0

추가 설명 ... 처음에는 ItemFileWriteStore를 사용하여 눈금을로드했습니다. 그런 다음 사용자는 그리드/저장소에 추가하거나 제거 할 수 있습니다. 데이터 세트의 크기를 얻기 위해 다음 링크를 찾았지만 추가/삭제 후에 크기가 원래 크기가 될 것이라고 생각합니다. http://livedocs.dojotoolkit.org/quickstart/data/usingdatastores/faq#question-6-how-do-i-get-a-count-of-all-items-in-a-datastore –

답변

1

실제로이 링크의 다음 코드는 완벽하게 작동합니다! 현재 상점의 크기를 반환하는 URL에서 저장소를 다시로드하지 않습니다.

var storeUOM = dijit.byId('gridUOM').store; 
function size(size, request) { 
    if (size == 0) { 
     if (errors.length > 1) errors += '\n'; 
     errors += 'Must setup at least one unit of measure'; 
    } 
} 
storeUOM.fetch({query: {}, onBegin: size, start: 0, count: 0});    
관련 문제