私はこれへのアクセスを提供する読み取り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. ローカルサーバーのGoogleデータストアにデータを追加して取得するにはどうすればよいですか?
- 4. モデルをインスタンス化せずにデータストア(アプリエンジン)レコードを取得するにはどうすればよいですか?
- 5. データストアGoogle Cloudからテキストタイプを取得するにはどうすればよいですか?
- 6. DojoでFilteringSelect <select>の「値」を取得するにはどうすればよいですか?
- 7. 子アイテムの子アイテムを取得するにはどうすればよいですか?
- 8. 関数(言語c)でchar配列のサイズを取得するにはどうすればよいですか?
- 9. テキストをスタイリングせずにDojoボタンのサイズを変更するにはどうすればよいですか?
- 10. ファイルにデータストアを削除するにはどうすればよいですか?
- 11. フォームクローン変数を取得するにはどうすればよいですか?
- 12. グループ化されたクエリのアイテムの合計を取得するにはどうすればよいですか?
- 13. 選択しているアイテムのインデックス番号を取得するにはどうすればよいですか?
- 14. IEnumerableのアイテムの値を別のクラスのメンバーで取得するにはどうすればよいですか?
- 15. ルアのオブジェクトから特定のアイテムを取得するにはどうすればよいですか?
- 16. onClickイベントのリストビューアイテムから特定のアイテムを取得するにはどうすればよいですか?
- 17. FirebaseRecyclerAdapterがサーバから取得するアイテムを制限するにはどうすればよいですか?
- 18. Javaでキュー内のn番目のアイテムを取得するにはどうすればよいですか?
- 19. 新しいng-repeatアイテムのインデックスを取得するにはどうすればよいですか?
- 20. 「アイテム」のロゴをPlaid APIから取得するにはどうすればよいですか?
- 21. リストから別のアイテムを取得するにはどうすればよいですか?
- 22. ngRepeatのテキスト入力からアイテム番号を取得するにはどうすればよいですか?
- 23. スピナーで選択したアイテムのIDを取得するにはどうすればよいですか?
- 24. レキシブストア内のアイテムをキーで取得するにはどうすればよいですか?
- 25. Facebook上で公開動画アイテムのタイトルを取得するにはどうすればよいですか?
- 26. DevExpress GridControlの行でアイテムを取得するにはどうすればよいですか?
- 27. イテレーションで2番目のアイテムを取得するにはどうすればよいですか?
- 28. 最新のアイテムを一意に連続して取得するにはどうすればよいですか?
- 29. WindowsでSDカードの実際のサイズを取得するにはどうすればよいですか?
- 30. C++でファイルの実際のサイズを取得するにはどうすればよいですか?
あなたがすることができるために働い: myStore._getItemsArray()長さ しかし、これは、そのデータストアに特定です。私は店のサイズを取得する正しい方法が何であるか疑問に思っています。 – Arlo
この方法は私が最初に思ったよりもはるかにハッキリです。フェッチが呼び出されるまで配列は初期化されません。したがって、配列の長さを調べる前に必ずフェッチする必要があります。 >>> store._getItemsArray()。長さ 0 >>> store.fetch() オブジェクトストア=オブジェクト >>> store._getItemsArray()。長さ 2 – Arlo