jQuery はテーブルのページング効果を実装します

jQuery はテーブルのページング効果を実装します

この記事では、テーブルのページング効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

CS: ...

<スタイル>
    .ページャー{
        フォントサイズ: 18px;
    }
 
    .pager合計{
        フォントサイズ: 18px;
        高さ: 36px;
        行の高さ: 36px;
        左マージン: 2px;
    }
 
    .pager_a {
        表示: ブロック;
        幅: 36ピクセル;
        高さ: 36px;
        行の高さ: 36px;
        フロート: 左;
        テキスト配置: 中央;
        境界線: 1px 黒一色;
        色: 黒;
        左マージン: 2px;
        カーソル: ポインタ;
    }
 
    .pager_a_red {
        表示: ブロック;
        幅: 36ピクセル;
        高さ: 36px;
        行の高さ: 36px;
        フロート: 左;
        テキスト配置: 中央;
        境界線: 1px 実線の赤;
        色: 赤;
        フォントの太さ: 太字;
        左マージン: 2px;
        カーソル: ポインタ;
    }
</スタイル>

HTML:

<span class="pager"></span>&nbsp;<span class="pagerTotal"></span>
<テーブル>
<tr>
    <th>ブランド</th>
    <th>ショップ</th>
    <th>倉庫</th>
</tr>
<tbody id='tbody'></tbody>
</テーブル>
<span class="pager"></span>&nbsp;<span class="pagerTotal"></span>

JavaScript:

<スクリプト>
    // 初期化 $(function () {
        レポートページ(1);
    });
    //レポートの読み込み - ページング function ReportPage(pageIndex) {
        var index = pageIndex; //ページ番号 var size = 500; //ページあたりのエントリ数 var startDate = $("#startDate").val();
 
        $("tbody").empty();
        $.ajax({
            非同期: false、
            タイプ: "GET",
            データ: {
                "開始日": 開始日、
                "pageIndex": インデックス、
                "pageSize": サイズ、
            },
            url: "/Controller/GetData",
            データ型: "json",
            成功: 関数 (リクエスト) {
                //スペルテーブル$.each(request.data, function (i, field) {
                    var html = "";               
                    html += "<tr>";
                    html += "<td>" + field.brand+ "</td>";        
                    html += "<td>" + field.Shop+ "</td>";
                    html += "<td>" + field.warehouse+ "</td>";
                    html += "</tr>";
                    $("#tbody").append(html);
                });           
                Pages(pageIndex, request.allPage, request.total);//ページングを生成する},
        });
    }
 
    //ページングボタン関数 Pages(pageIndex, pageCount, pageTotal) {
        $(".pagerTotal").html("&nbsp;&nbsp;合計: <font color='red'>" + pageTotal + "</font>&nbsp;データ!");
        $(".pager").empty();
        var ページ = "";
        (var i = 0; i < pageCount; i++) の場合 {
            ((i + 1) == ページインデックス)の場合{
                ページ += "<span class='pager_a_red'>" + (i + 1) + "</span>";
            }
            それ以外 {
                ページ += "<span class='pager_a' onclick='ReportPage(" + (i + 1) + ")'>" + (i + 1) + "</span>";
            }
        }
        $(".pager").append(ページ);
    }
</スクリプト>

VC:

パブリック ActionResult GetData(文字列 startDate、int ページインデックス、int ページサイズ)
        {
                文字列 json = 文字列.Empty;          
                if (!string.IsNullOrEmpty(startDate))
                {
                    整数合計 = 0;
                    int allPage = 0;
                    DataTable dt = bll.GetData(startDate、pageIndex、pageSize、out total、out allPage);
                    dt != null && dt.Rows.Count > 1 の場合
                    {
                        json = JsonConvert.SerializeObject(新しい
                        {
                            total = total, //レコードの合計数 allPage = allPage, //ページの合計数 data = dt, //ページング後のデータ });
                    }
                }        
                Content(json) を返します。
        }

ページング データ dataTable、合計データ数 total、合計ページ数 allpage を取得します。

パブリック DataTable GetDate(文字列 startDate、int pageIndex、int pageSize、out int total、out int allPage)
{
    //データの合計数とページの合計数を計算します。 string sqlCount = "select count(*) from table where date='"+startDate+"'"; //データの合計数を取得します。 total = int.Parse(SqlHelper.GetSingel(sqlCount ).ToString()); //データ行の合計数 allPage = total / pageSize; //ページの合計数 = データ行の合計数 / ページあたりの行数 allPage += total % pageSize == 0 ? 0 : 1; //1 ページ未満も 1 ページとしてカウントされます。 //ページング データを取得します。 string sql = "";
    sql = "@PageIndex INT を宣言します;";
    sql = "@PageSize INT を宣言します;";
    sql = "SET @PageIndex=" + ページインデックス;
    sql = "SET @PageSize=" + ページサイズ;
 
    sql += " SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY ID desc) rownum, * FROM table where date ='"+ startDate +"')a";
    sql += " WHERE rownum > @PageSize * (@PageIndex - 1) AND rownum <= @PageSize * @PageIndex";
    sql += "ID desc で並べ替え";
 
    DataTable dt = SqlHelper.GetDate(sql);// ページングデータ return dt;
}

プレビュー:

ページ番号をクリックすると、新しいデータを取得するために ajax が再度呼び出されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jQueryプラグインDataTablesページングの開発経験
  • jQuery DataTables を使用して Asp.net MVC でデータ ページング表示機能を実装する
  • jQuery DataTableは前面と背面に動的なページングを実装します
  • jQuery dataTable のバックグラウンドでのデータの読み込みとページングのサンプル コード
  • jQuery DataTable サーバーサイドページング
  • ASP.NET MVC+EF サーバー側ページングに jqGrid と jquery Datatables を使用する際の注意事項
  • jQuery DataTables プラグインのカスタム Ajax ページング例の分析
  • クライアント/サービス分離リンクモデルを構築するための JQuery のテーブルページングコードの効率に関する予備調査

<<:  MySQLクエリキャッシュに関するヒント

>>:  分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

推薦する

DockerコンテナにRedisをデプロイする手順の紹介

目次1 つの Redis 設定ファイル2 Dockerコマンドの開始3 docker-compose...

便利でシンプルなMySQL関数10個

関数0. 現在の時刻を表示するコマンド: select now()。機能: 現在の時刻を表示します。...

mysql indexof関数の使用手順

以下のように表示されます。 LOCATE(部分文字列、文字列)文字列 str 内の部分文字列 sub...

Docker は MySQL をインストールし、中国語の文字化けの問題を解決します

目次1. MySQLイメージを取得する2. ダウンロードが完了したか確認する3. MySQLはローカ...

LinuxシステムにISOファイルをインストールする方法

Linux システムで iso ファイルをインストールするにはどうすればいいですか?インストール手順...

LinuxにMySQLデータベース5.6のソースコードをインストールし、ログインユーザーのパスワードを変更する

この記事では、主に Linux で MYSQL データベースをインストールする方法について説明し、M...

MySQLでテーブルを接続するいくつかの方法

MySQL テーブルでの接続方法は実は非常に簡単なので、ここではその特徴を簡単にリストします。テーブ...

面接で聞かれる可能性のあるCSSに関する質問

この記事は、100 回書かれ、質問された CSS の質問を記念するためのものです。聞く: CSS セ...

カルーセル効果を実現するjQueryプラグイン

毎日jQueryプラグイン - カルーセルチャートを実装するためのjQueryプラグイン。参考までに...

Vue2.0は適応解像度を実装する

この記事では、適応解像度を実現するためのVue2.0の具体的なコードを参考までに紹介します。具体的な...

javascript 入力画像のアップロードとプレビュー、FileReader プレビュー画像

FileReader は、フロントエンドのファイル処理、特に画像処理にとって重要な API です。画...

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...

Vue コンポーネント ライブラリ ElementUI はテーブル読み込みツリー データのチュートリアルを実装します

ElementUIは、参考のためにテーブルツリーリストの読み込みチュートリアルを実装しています。具体...

JavaScript で 24 以上の配列メソッドを手動で実装する

目次1. トラバーサルクラス1. 各2. 地図3. すべての4. いくつか5. フィルター6. 減ら...

JavaScript を使用した数独の完全な実装プロセス

目次序文数独の解き方最初のボックスに記入してください2番目のボックスに記入してください3番目のボック...