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監視のプロセスの詳細な説明

推薦する

HTMLはBaidu百科事典のナビゲーションドロップダウンメニュー機能を模倣します

HTML は、Baidu 百科事典のナビゲーション ドロップダウン メニュー機能を模倣します。具体的...

ウェブデザインに必須のツール: Firefox Web Developer プラグイン CSS ツールセットのチュートリアル

プラグインは Firefox ブラウザにインストールされます。 Web Developer プラグイ...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

ロンボク実装 JSR-269

序文導入Lombok は、Google Guava と同様に便利なツールであり、強くお勧めします。す...

CentOs システムで Python と yum をアンインストールするソリューション

事故の背景: 数日前、プロジェクトの必要性により、サーバーに python-mysql モジュールを...

Javascriptジェネレータの紹介と使用

ジェネレータとは何ですか?ジェネレーターは関数内で実行されるコードです。値を返した後、一時停止し、呼...

フレックスレイアウトにおけるflex-growとflex-shrinkの計算方法の詳しい説明

CSS のFlex(彈性布局)すると、Web ページのレイアウトを柔軟に制御できます。Flex Fl...

CSS における zoom:1 属性の定義と機能

今日、CSS の zoom 属性は何のために使用されるのかと尋ねられました。この属性は、フローティン...

MySQL データの集約とグループ化

多くの場合、データを実際に取得せずに要約する必要があり、 MySQLこの目的のために特別な関数を提供...

Vueインスタンスで$refsを使用する際の注意点

開発の過程では、インスタンスの vm.$refs(this.$refs) を使用して、ref で登録...

CentOS仮想マシンの時刻を変更する方法

上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...

Docker の MySQL コンテナのタイムゾーン問題の修正

序文Ahhang が Springboot プロジェクトを開発していたとき、フロントエンドから検証コ...

Linux オペレーティング システムに Apache サービスをインストールする方法

ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...

JS 日付コントロール My97DatePicker の基本的な使い方

My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...

Docker で MySQL マスターとスレーブをデプロイする方法

画像をダウンロードMySQLイメージの選択 docker 検索 mysql MySQL 5.7 イメ...