私はこれへのアクセスを提供する読み取りAPIには何も表示されません。 http://api.dojotoolkit.org/jsdoc/1.3.2/dojo.data.api.Readdojoデータストアのアイテム数(サイズ)を取得するにはどうすればよいですか?
答えて
データストアのワイヤデータのフォーマットは、完全にストア固有です。アイテムの総数(および他のメタデータ)を取得するには、レスポンスの一部として返さなければなりません。これは、サーバーサイドページネーションを実行する唯一の方法です。問い合わせは(onComplete
に)返すとき
{
identifier: 'id',
items: [
{ id: 123, name: 'aaa', ... },
{ id: 456, name: 'bbb', ... },
...
],
totalCount: 525
}
ストア、これを保存しますので、は次のように
私が実装されているすべての店舗は、データがtotalCount
属性が含まれていることを期待しています。値は、店舗のgetTotalCount()
メソッドを介して公開されます。
start
とcount
リクエストオプションと組み合わせて使用すると、素晴らしいAjaxページネーション(「525の1-50を表示」)が可能になります。
これはAPIの一部ではないため、読み取りAPIのコア実装では実装されていません。このテクニックの形式(私が行ったことに似ています)はdojo.data.QueryReadStore
によって実装されているようですので、おそらくそこにも見ることができます。私はJsonRestストアを使用して、この質問への答えを探していた、これはそれのようです
例dojocampusでは、1つの方法を示します。ここでfetch
を指定しないと、query
パラメータはストア内のすべての項目を返します。
var store = new some.Datastore();
var gotItems = function(items, request){
console.log("Number of items located: " + items.length);
};
store.fetch({onComplete: gotItems});
:サーバー上
、あなたはどの項目を知っている要求でRangeヘッダーで になります復帰する。
Content-Range: items 0-24/66
を::http://dojotoolkit.org/reference-guide/dojo/store/JsonRest.html
dojo.data.api.Read年代 サーバが返され、どのように多くの合計の項目が存在するされているどのように多くの の項目を示すためのContent-Rangeヘッダに応答しなければなりませんこのクイックスタートから
function size(size, request){
// Do whatever with the size var.
}
store.fetch({query: {}, onBegin: size, start: 0, count: 0});
機能onBegin試合の合計サイズを持っています。
次のコードは、dojo.data.ItemFileReadStoreで私
// questionStoreReader is a pointer that points to and can read ask.json file
var questionStoreReader=new dojo.data.ItemFileReadStore({url:"ask.json"});
questionStoreReader.fetch(
{
onComplete:function(items,request) // items is an array
{
alert(items.length);// number of items in ask.json
},
})
- 1. dojoデータストアでネストされたデータを削除するにはどうすればよいですか?
- 2. dojo TextBox attr関数を使用して値を取得するにはどうすればよいですか?
- 3. モデルをインスタンス化せずにデータストア(アプリエンジン)レコードを取得するにはどうすればよいですか?
- 4. 子アイテムの子アイテムを取得するにはどうすればよいですか?
- 5. データストアGoogle Cloudからテキストタイプを取得するにはどうすればよいですか?
- 6. DojoでFilteringSelect <select>の「値」を取得するにはどうすればよいですか?
- 7. テキストをスタイリングせずにDojoボタンのサイズを変更するにはどうすればよいですか?
- 8. ファイルにデータストアを削除するにはどうすればよいですか?
- 9. グループ化されたクエリのアイテムの合計を取得するにはどうすればよいですか?
- 10. Javaでキュー内のn番目のアイテムを取得するにはどうすればよいですか?
- 11. Facebook上で公開動画アイテムのタイトルを取得するにはどうすればよいですか?
- 12. 最新のアイテムを一意に連続して取得するにはどうすればよいですか?
- 13. MongoDBコレクションの最後のアイテムを取得するにはどうすればよいですか?
- 14. PagedCollectionView内のグループ内のアイテムを取得するにはどうすればよいですか?
- 15. SitecoreのCustomImageFieldアイテムの高さと幅を取得するにはどうすればよいですか?
- 16. Windowsにログインせずにアーカイブフォルダのサイズを取得するにはどうすればよいですか?
- 17. WindowsでSDカードの実際のサイズを取得するにはどうすればよいですか?
- 18. innerHTML.splitの後に配列のサイズを取得するにはどうすればよいですか?
- 19. ListViewアイテムの高さを取得するにはどうすればよいですか?
- 20. クリックしたアイテムをajaxメソッドで取得するにはどうすればよいですか?
- 21. Cでベクターのサイズを取得するにはどうすればよいですか?
- 22. 異なるサイズのdatepickerインスタンスを取得するにはどうすればよいですか?
- 23. 関数によって引数_expected_のリストを取得するにはどうすればよいですか?
- 24. Prototype.jsを使用してブラウザウィンドウのサイズを取得するにはどうすればよいですか?
- 25. PhoneGapを使用してデバイスの画面サイズを取得するにはどうすればよいですか?
- 26. DataGridViewコントロールのスクロールバーのサイズを取得するにはどうすればよいですか?
- 27. ビューのマージンのサイズを取得するにはどうすればよいですか?
- 28. 'size'コマンドから合計サイズを取得するにはどうすればよいですか?
- 29. 同じサイズのサムネイルを取得するにはどうすればよいですか?
- 30. 画面の物理的なサイズ(インチ)を取得するにはどうすればよいですか?
あなたがすることができるために働い: myStore._getItemsArray()長さ しかし、これは、そのデータストアに特定です。私は店のサイズを取得する正しい方法が何であるか疑問に思っています。 – Arlo
この方法は私が最初に思ったよりもはるかにハッキリです。フェッチが呼び出されるまで配列は初期化されません。したがって、配列の長さを調べる前に必ずフェッチする必要があります。 >>> store._getItemsArray()。長さ 0 >>> store.fetch() オブジェクトストア=オブジェクト >>> store._getItemsArray()。長さ 2 – Arlo