2016-07-19 16 views
0

私はdate属性を持つデータ配列を持っています。日付に基づいてデータをフィルタリングする必要があります。dstoreフィルタの日付範囲

this.employeeStore.filter({joinDate:'01/01/2014'}); 
2015年3月の第3回までの2014年1月の第1回から参加者のように私は

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

以下のようにデータを保存するためにdstorejsを使用しています

私は、従業員の入社日に基づいてフィルタを作成する必要があります

これは、2014年1月1日に参加しましたが、私は

this.employeeStore.filter.gte({joinDate:'01/01/2014'}); 
のような範囲でフィルタリングする必要がある場合は、すべての従業員を与えます

それは数ではないので、これは動作しませんが、彼らが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