問題タブ [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.
html - Web ディスプレイ: ページングと長いテーブル
Web デザインのトレンドは、長いテーブルが一度に 1 ページずつ表示される、ページ化された出力を提供することのようです。私の顧客はそれを好まず、私が設計した Web サイトではすべてのエントリを長いテーブルに表示するように要求しています。ページングの議論は、主に長いテーブルを表示することによるパフォーマンスの低下に基づいているようであり、これは高帯域幅の企業イントラネットではあまり問題になりません。ページングに対する議論には、テーブル全体を印刷する機能、テーブル全体に対して文字列検索を実行する機能、テーブル全体から任意の範囲を選択してコピーする機能などがあります。これらの機能は、ページ付きの Web デザイン (たとえば、テーブル全体を印刷する印刷ボタン、またはテーブルの CSV ファイルを作成するボタン) がありますが、ページ化された出力は依然として彼らにとって不便に思えます。私たちの典型的なテーブルは約 100 から 600 アイテムです。明らかに、非常に大きくなるテーブルは、おそらくページングする必要があります。
質問:
- 長いテーブルでのページ化された出力と完全な出力の個人的または顧客の好みについて、あなたの経験は何ですか?
- Web デザイン ツールは、ページング パラダイムを推し進めているようです。彼らは連絡を取り合っていませんか、それとも私の顧客は珍しいですか?
- 「テーブルの長さによる」と考えている場合、どのしきい値を使用しますか?
javascript - ページネーション: サーバー側またはクライアント側?
ページネーションを処理するのに最適なものは何ですか? サーバー側ですか、それとも JavaScript を使用して動的に実行していますか?
私はajaxに重きを置いてデータを動的に取り込むプロジェクトに取り組んでいるので、domを使用するJavaScriptのページネーションシステムに取り組んできましたが、すべてを処理する方が良いと思い始めていますサーバ側。
みんなの感想は?
asp.net - 各リクエストですべての行を取得せずに DataPager を使用する
次のようなオブジェクトのコレクションにデータバインドしている ListView があります。
pageNum、pageSize、および total パラメータは、データ アクセス層でのページングを容易にします。ここまでは順調ですね。
これで、ページに DataPager をスローし、それを ListView に向けて、まともなページング UX を得ることができます。データ ソース コントロールを使用して宣言的にではなくプログラムでバインドする場合は、もう少し作業が必要ですが、ここでの問題は、DataPager が結果セット全体が毎回取得されることを期待していることです。そこからページネーションを計算する必要があるため、結果の 1 ページが利用可能なレコードの合計として返され、利用可能な結果が 1 ページしかないかのようにレンダリングされます。つまり、GetClients の非ページング バージョンに切り替えると、上記のシナリオは DataPager で正常に機能します。
明らかに、データ アクセス レイヤーは、一度に 1 ページを取得する方法を提供してくれるので、毎回すべてのレコードを取得するよりも、これが望ましいでしょう。使用可能なレコードの合計を DataPager に明示的に通知できれば、ページネーション出力を自動的に作成できますが、一度に 1 ページしか必要としません。
これを行う簡単な方法が見つからず、検索で何も見つかりませんでした。確かに、私は現在 DataPager の実装について深く理解しているわけではないので、見落としがあることを願っています。
model-view-controller - MVC では、ページネーション情報をパスまたはクエリ文字列に入れる必要がありますか?
パスで:
フォーマット: http://mydomain.com/ {category}/{subcategory}/{pageNumber}/{pageSize}
例: http://mydomain.com/books/thriller/3/25
クエリ文字列で:
フォーマット: http://mydomain.com/ {category}/{subcategory}? pageNumber={pageNumber}&pageSize={pageSize}
例: http://mydomain.com/books/thriller?pageNumber=3&pageSize=25
私はすべてをパス上に置くのが好きですが、それに関する私の問題は、最初の例で「本」と「スリラー」が何であるかが明らかである(または少なくともある程度明白である)一方で、「3」と「25」はかなり恣意的に見えることです対照的に。
MVCで何がどこに行くのかを判断するための標準的な方法はありますか、それとも本当に開発者次第ですか?
sql-server - Start パラメータと Length パラメータを使用して SQL 2000 からページ分割する良い方法は何ですか?
結果がページ付けされるように、既存のストアド プロシージャをリファクタリングするタスクが与えられました。SQL サーバーは SQL 2000 なので、ページネーションの ROW_NUMBER メソッドを使用できません。ストアド プロシージャはすでにかなり複雑で、sp_executesql を実行する前に大きな sql ステートメントのチャンクをまとめて作成し、さまざまな並べ替えオプションを利用できます。
Google からの最初の結果は良い方法のように思えますが、2 番目の並べ替えを逆にする必要があり、開始がページの長さよりも短い場合は失敗するという点で、この例は間違っていると思います。そのページの 2 番目の例も良い方法のようですが、SP は開始レコードではなく pageNumber を使用しています。そして、一時テーブル全体がパフォーマンスの低下になるようです。
私はこの道を進んでいますが、遅くて紛らわしいようです。正しい結果を得るには、並べ替え順序でかなりの数の REPLACE メソッドを実行する必要があります。
私が見逃している他の簡単なテクニックはありますか?
asp-classic - Classic ASPで効果的なページングを行う方法は?
テーブルをページングしようとしていますが、ページングはすでに機能していますが、すべてのページが前/次のリンクとともに1行で表示されるため、結果が多い場合(多くの場合、 )。
私がやりたいのは、ページを10のバッチで表示することです。たとえば、1 ... 10です。10ページにいて[次へ]をクリックすると、11〜20に変わります。どうすればこれを行うことができますか?
sql - 注文後に Oracle クエリによって返される行数を制限するにはどうすればよいですか?
Oracle
MySQLlimit
句が含まれているようにクエリを動作させる方法はありますか?
MySQL では、これを行うことができます。
21 番目から 30 番目の行を取得します (最初の 20 をスキップして、次の 10 を与えます)。行は の後に選択されるorder by
ため、実際にはアルファベット順に 20 番目の名前から始まります。
Oracle では、人々が言及するのはrownum
疑似列だけですが、前 order by
に評価されます。つまり、次のようになります。
名前順に並べられた10行のランダムなセットを返しますが、これは通常私が望むものではありません。また、オフセットを指定することもできません。
ruby-on-rails - will_paginate とパーシャルを使用してレールで
will_paginate でページ付けされた人々のコレクションがあります
人物は会社/ビュー ページに表示され、部分的にレンダリングされます。パーシャルは「人」のビューにあることに注意してください
部分的に...
これでパーシャルが機能し、すべての人がレンダリングされ、下部にページネーション リンクが表示されます。ただし、実際にはコレクションをページ分割するのではなく、最初のページにすべてを表示します。
かなり基本的なものが明らかに欠けています。
前もって感謝します。
java - HQL-ページネーションの行識別子
HQLにROWIDやROWNUMなどの行を識別するためのキーワードがあるかどうか誰かが知っていますか?
HQLでページネーションを実装したいのですが、セッションオブジェクトを直接操作しないため、.setMaxResult()または.setFirstResult()を使用できません。したがって、Queryオブジェクトを使用せず、クエリを次のように作成するだけです。文字列を作成し、.find()メソッドを使用します。
クエリでLIMITとOFFSETを使用しようとしましたが、HQLはこれらのキーワードを無視しているようで、何があっても結果全体が返されます。
また、クエリに表示される「HAVING」句がサポートされていないため、Hibernate基準を使用できません。
私の最後の手段は、ROWNUM/ROWIDキーワードを使用して結果セットを制限することです。他に何か提案はありますか?