2016-07-19 2 views
0

데이터 배열에 date 속성이 있으므로 데이터를 기준으로 데이터를 필터링해야합니다.dstore 필터 날짜 범위

this.employeeStore.filter({joinDate:'01/01/2014'}); 
년 3 월 2015 년 3까지 년 1 월 2014 년 1 일부터 가입하는 사람들처럼 나는

this.employeeStore = new Memory({data:[emplist],idProperty:"emp_num"}); 

아래와 같은 데이터를 저장하는 dstorejs을 사용하고

나는, 직원의 입사 날짜를 기준으로 필터를 만들 필요가

이 일월 2014 년 1 조인 모든 직원을 제공하지만

this.employeeStore.filter.gte({joinDate:'01/01/2014'}); 
과 같은 범위에서 필터링해야하는 경우 16,

이 수 없기 때문에이 작동하지 않습니다,이 그들이 tutorial에서 언급 한 바와 같이 나는 사용자 정의 저장소를 작성해야 할 달성하기 위해 string 또는 date 객체

입니까?

다른 방법이 있습니까?

또는 이것을 달성하기 위해 dstore과 같은 다른 프레임 워크가 있습니까?

+0

날짜가 문자열 형식입니까? 또는 날짜 유형? –

+0

'dstorejs'에 대해 언급했지만, 예제에서'Memory'를 사용하고 있습니다, 맞습니까? –

+0

@Kstro dstore는 메모리 "dstore/Memory"를 가지고 있습니다. – chiranjeevigk

답변

1

당신은 다음과 같은 특정 날짜에 emplist 배열의 날짜를 비교하기 위해 dojo/datecompare 기능을 사용하여도 정확하게 날짜를

을 비교 관리 할 콜백 함수로 쿼리 dojo/storeQuery filter, 를 사용하여이 작업을 수행 할 수 있습니다 :

this.employeeStore = new Memory({data: someData}); 

var compareDate = new Date(2014,1,1); 

var results = store.query(function(object){ 
    // compare return -1 if lower 
    // return 0 if equals 
    // return 1 if greater 
    return date.compare(object.date, compareDate) > -1; 
}); 

results.forEach(function(yourResultData){ 
    // some stuff looping results 
}); 

더 나은 이해를 위해 Fiddle을 볼 수 있습니다.

+0

감사합니다. dojo에서도이 점을 알고 있습니다. dstorejs 대신 dojo를 사용할 수 있습니다. /저장 – chiranjeevigk