問題タブ [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.
javascript - クリックレスページネーションのためにJavascriptでonBecomesVisible?
特定の要素がブラウザキャンバスに表示されるとすぐにカスタムイベントを提供するjavascriptライブラリはありますか?
基本的な考え方は、リストの最後の要素が画面に表示されたらすぐに、次の10個の要素を読み込んで、ユーザーが[次のページ]ボタンをクリックする必要がないようにすることです。これを実現するには、最後の要素が表示されるとすぐに発生するonBecomesVisibleイベントが便利です。このようなものはありますか?
Slashdotは、この方法でフロントページの読み込みを行います。
.net - SqlDataSource を使用した GridView でのページング
DataSet モードで SqlDataSource からデータにアクセスする GridView があります。ページングを有効にして動作しますが、大規模なデータセットではデータをプルするのに非常に長い時間がかかります。
SqlDatSource がすべてのデータを取得し、UI レベルでページングしているようです。これは明らかにお粗末なソリューションです。SqlDataSource の高速化に関するヒントを見てきましたか? それは同じトピックにあるようです-SELECTステートメントにページングコードを実装する必要があるようですが、その方法がわかりません。必要に応じて SProc にプルすることに反対しているわけではありませんが、SELECT コマンドを SqlDataSource に残しておく方がよいでしょう。
MySQL には LIMIT X,Y (X は取得する行数、Y はオフセット) があることを知っています。TOP は同じことをしていないようで、GridView から SqlDataSource にページング情報を取得する方法もわかりません。
それはこれを行うための最良の方法ですか?または、GridView の SqlDataSource から効果的なページングを取得するより良い方法はありますか?
(問題がある場合は C# を使用していますが、そうすべきではないと思います。)
ありがとう。
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方式でエンコードする標準的な(書かれているかどうかにかかわらず)方法があるかどうかでした...