問題タブ [pagination]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
yui - yuiとサーバー側のページ付け
YUI 2.7.0を使用していますが、クライアント側のページ付けを停止し、サーバー側のページ付けを停止しようとしています(クエリは数千の結果を返す可能性があります)。現在、結果は表示されていません(「レコードが見つかりません。」というメッセージが表示されます)。ウェブ上で答えが見つからないようです。alert()を呼び出すと正しい番号が表示されるので、サーバーから何かが返されていることがわかります。問題はjobsCallbackまたはhandleDataReturnPayloadにあると思われますが、そこからスタックしています。ヒントはありますか?
asp.net - Asp.Netページネーションのベストプラクティス
linq to sqlを使用してデータを取得しています。データグリッドでページサイズを設定し、ユーザーがページ2を選択すると、ポストバックが表示され、すべてのデータを再読み込みして2番目のページが表示されます。これを行うためのより良い方法、つまり、表示する必要のあるデータだけを読み取る方法があるはずだと思います。コードサンプルはないかと思っていました...
database - ページの結果は[選択したデータベース]になります
このウィキのデータベースの結果をページ分割するための「最先端の」方法を収集したいと思います。
入力:私は巨大なテーブルPAGE_MEを持っています:
id
必ずしも。と同じ順序である必要はありませんcreated
。5. May 2008 09:03:01
から20までの結果を3. Aug 2008 11:00:01
、時間順に昇順(5月5日から)で表示したいと思います。クエリはNAME
とCREATED
(および結果をページ分割するために必要なもの)を返す必要があるため、内部クエリは次のようになります。
キーボードで、準備ができました... Go!;)
asp.net-mvc - 投稿を表示するためにStackOverflowでどのようなコントロールが使用されていますか?
ASP.NETMVCでサイトを構築しています。StackOverflowが投稿を表示する方法を複製するつもりです。これらの人はASP.NETMVCでリピーターコントロールを使用していますか?レンダリングされるマークアップを完全に制御したいのですが、ページネーションも必要です。
そのような場合の最善のアプローチは何ですか。
http - Rest コレクションのページング
JSON ドキュメントのコレクションに直接 REST インターフェイスを公開することに興味があります ( CouchDBまたはPersevereを考えてください)。私が直面している問題はGET
、コレクションが大きい場合にコレクション ルートで操作を処理する方法です。
Questions
例として、各行がドキュメントとして公開されているStackOverflow のテーブルを公開しているふりをします (このようなテーブルが必ずしも存在するわけではありません。「ドキュメント」のかなりのコレクションの具体的な例です)。コレクションは、通常の CRUD api で利用可能に/db/questions
なりGET /db/questions/XXX
ます。コレクション全体を取得する標準的な方法ですが、単純に各行を JSON オブジェクトとしてダンプすると、かなり大きなダウンロードが発生し、サーバー側で多くの作業が必要になります。PUT /db/questions/XXX
POST /db/questions
GET /db/questions
もちろん、解決策はページングです。Dojo は、独自の範囲単位でヘッダーを使用するという巧妙な RFC2616 準拠の拡張により、JsonRestStoreでこの問題を解決しました。結果は、要求された範囲のみを返す です。クエリ パラメータに対するこのアプローチの利点は、... クエリのクエリ文字列を残すことです (たとえば、またはそのようなもの、およびエンコードされたはい)。Range
items
206 Partial Content
GET /db/questions/?score>200
%3E
このアプローチは、私が望む動作を完全にカバーしています。問題は、RFC 2616が 206 応答で次のように指定していることです (強調は私のものです)。
要求には、目的の範囲を示すRange ヘッダー フィールド (セクション 14.35 ) が含まれている必要があり、要求を条件付きにするためにIf-Range ヘッダー フィールド (セクション 14.27 ) が含まれている場合があります。
これは、ヘッダーの標準的な使用法のコンテキストでは理にかなっていますが、単純なクライアント/ランダムな人々の探索を処理するために 206 応答をデフォルトにしたいので問題です。
私は解決策を探して RFC を詳細に調べましたが、私の解決策に不満があり、問題に対する SO の見解に興味があります。
私が持っていたアイデア:
- ヘッダー
200
で返す!Content-Range
- 私はこれが間違っているとは思いませんが、応答が部分的なコンテンツのみであることをより明確に示すことが望ましいと思います。 - Return
400 Range Required
- 必要なヘッダーには特別な 400 応答コードがないため、デフォルトのエラーを使用して手動で読み取る必要があります。これにより、Web ブラウザー (または Resty などの他のクライアント) を介した探索もより困難になります。 - クエリ パラメーターを使用する- 標準的なアプローチですが、Persevere 形式でクエリを実行できるようにしたいと考えています。これにより、クエリの名前空間が切断されます。
- 戻るだけ
206
!- ほとんどのクライアントはびっくりしないと思いますが、私はむしろ RFC の MUST に反対したくありません - スペックを拡張!Return
266 Partial Content
- 206 とまったく同じように動作しますが、Range
ヘッダーを含めてはならない要求への応答です。266 は衝突の問題に遭遇しないほど十分に高いと考えており、それは理にかなっていますが、これがタブーと見なされるかどうかは明確ではありません。
これはかなり一般的な問題だと思います。私や他の誰かが車輪を再発明しないように、事実上の方法でこれが行われることを望んでいます。
コレクションが大きい場合、HTTP 経由で完全なコレクションを公開する最良の方法は何ですか?
pagination - 安らかなURLでページネーション情報をエンコードする標準的な方法は?
私の質問はいくつかの例でよりよく説明されると思います...
GET http:// myservice / myresource /?name = xxx&country = xxxx&_page = 3&_page_len = 10&_order = name asc
つまり、一方では条件(name = xxx&country = xxxx)があり、他方ではクエリに影響を与えるパラメータがあります(_page = 3&_page_len = 10&_order = name asc)
ここで、条件とパラメーターの衝突を回避するために、特別なプレフィックス(この場合は「_」)を使用することについて考えました(リソースに「order」プロパティがある場合はどうなりますか?)
これらの状況を処理するための標準的な方法はありますか?
-
私はこの例を見つけました(1つを選ぶだけです) http://www.peej.co.uk/articles/restfully-delicious.html
GET http://del.icio.us/api/peej/bookmarks/?tag=mytag&dt=2009-05-30&start=1&end=2
ただし、この場合、条件フィールドはすでに定義されています(開始プロパティも終了プロパティもありません)
私はいくつかの一般的な解決策を探しています...
-編集、明確にするためのより詳細な例
各アイテムは互いに完全に独立しています...私のリソースが顧客であり、(幸運なことに)データベースに数百万のアイテムがあるとします。
したがって、URLは次のようになります。
http:// myservice / customers /?country = argentina、last_operation = 2009-01-01..2010-01-01
昨年何かを購入したアルゼンチンのすべての顧客を私に与えるはずです
たとえば、このサービスを使用して参照ページを作成したり、コンボをajaxで埋めたりしたいので、取得する情報を制御するためにメタダを追加するというアイデアがありました。
参照ページを作成するには、追加します
http://...,_page=1,_page_len=10,_order=state,name
オートサジェストコンボをajaxで埋める
http://...,_page=1,_page_len=100,_order=state,name,name=what_ever_type_the_user *
ユーザーが入力したものと一致する最初の100人の顧客でコンボを埋める...
私の質問は、この種のものをレストフルURL方式でエンコードする標準的な(書かれているかどうかにかかわらず)方法があるかどうかでした...
javascript - jqGrid を使用したクライアント側のページネーション
loadonce = true を設定することで jqGrid でクライアント側の並べ替えを実行できることはわかっていますが、クライアント側のページングも実行できますか?
最初にページの読み込み中にすべてのデータ (JSON の約 80 ページ) をクライアントに渡したいのですが、サーバー呼び出しは必要ありません。jqGrid でページングと並べ替えの両方を処理する必要があります。
.net - クライアントでの DataGridView、ADO.NET、バインディング、およびページング
私は、約 20000 レコードを戻してから DataTable を埋め、その DataTable を DataGridView にバインドするいくつかのクエリを持つ WinForm アプリケーションに取り組んでいます。
ユーザーが一度にグリッド 500 レコードをページングできるようにしたいと考えています。これを行う最善の方法は何ですか?クライアント側でページングを行いたい。System.Data.DataView にはフィルターと並べ替えがありますが、ページングには役立ちません。
更新: 何かカスタムを行うためのいくつかのアプローチについて考え始めました。DataTable/DataRow が内部で使用する一意の「行数 ID」を取得できますか? 必要なレコードの数を数えるためにそれで何かをしますか?
jquery - jqueryを使用したデータベース結果のページング
jqueryを使用してデータベースから多数の結果をページングするのがどれほど難しいかについての情報を探しています。すでにプラグインを見つけましたが、必要なものではないと思います。
8つのテキストボックスを持つフォームがあります。これらの 8 つのテキスト ボックスに最初のデータベース結果を入力し、さらに結果がある場合はページングを表示したいと考えています。さらに結果がある場合、ユーザーは次のボタンをクリックして、新しいデータをテキストボックスにインポートできるはずです。
誰にも提案はありますか?
jquery - jQgridを使用したサーバー側のページング
jqgridを見てみました。サーバー側のページ付けを実現するために、このプラグインを実装しようとしたり、jQueryを使用したりした人はいますか?
私はstruts2を使用しており、DBから返されたリストをhtmlテーブルに入力しています。このリストは、OracleSPから返されます。SPは、他のいくつかのパラメーターとともに、「start」と「begin」を取り込んでいます。したがって、これらのパラメーターに数値を渡して、特定の行数を取得できます。
これをどのように達成しますか?ページ全体が更新されず、テーブルセクションのみが更新される「ajaxy」ソリューションをお勧めします。これはSOでも行われているようですが、この場合、すべてのデータを一度に戻していると思います。