ブートストラップ テーブル ページングを実装する 2 つの方法に関する簡単な説明
この記事では、bootstrap テーブル ページングを実装する 2 つの方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
ブートストラップ テーブル ページングの 2 つの方法:
フロントエンド ページング: データベースのすべてのデータを一度にクエリし、実行します。フロントエンド ページング (フロントエンド ページングは、データ量が少ない場合、またはロジック処理が複雑でない場合に使用できます)
サーバー ページング: 現在のデータのロードに必要なデータの部分のみをクエリします。毎回ページ
bootstrap ダウンロード アドレス :http://www.bootcss.com/
bootstrap-table ダウンロード アドレス: http://bootstrap-table.wenzhixin.net.cn/
jquery ダウンロード アドレス: http://www.jq22.com/jquery-info122
ページング効果 (スタイルは無視してください)
#1: js、css およびその他のファイルを準備します
ダウンロードしたドキュメントを webapp ディレクトリに直接配置します
必要な js を導入しますおよび CSS をページに挿入します
<!-- 引入的css文件 --> <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <link href="bootstrap-table/dist/bootstrap-table.min.css" rel="stylesheet"> <!-- 引入的js文件 --> <script src="jquery/jquery.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <script src="bootstrap-table/dist/bootstrap-table.min.js"></script> <script src="bootstrap-table/dist/locale/bootstrap-table-zh-CN.min.js"></script>
[関連する推奨事項: "bootstrap チュートリアル "]
2: HTML ページ タグのコンテンツ
<div class="panel panel-default"> <div class="panel-heading"> 查询条件 </div> <div class="panel-body form-group" style="margin-bottom:0px;"> <label class="col-sm-1 control-label" style="text-align: right; margin-top:5px">姓名:</label> <div class="col-sm-2"> <input type="text" class="form-control" name="Name" id="search_name"/> </div> <label class="col-sm-1 control-label" style="text-align: right; margin-top:5px">手机号:</label> <div class="col-sm-2"> <input type="text" class="form-control" name="Name" id="search_tel"/> </div> <div class="col-sm-1 col-sm-offset-4"> <button class="btn btn-primary" id="search_btn">查询</button> </div> </div> </div> <table id="mytab" class="table table-hover"></table>
3: JS ページング コード
$('#mytab').bootstrapTable({ method : 'get', url : "user/getUserListPage",//请求路径 striped : true, //是否显示行间隔色 pageNumber : 1, //初始化加载第一页 pagination : true,//是否分页 sidePagination : 'client',//server:服务器端分页|client:前端分页 pageSize : 4,//单页记录数 pageList : [ 5, 10, 20, 30 ],//可选择单页记录数 showRefresh : true,//刷新按钮 queryParams : function(params) {//上传服务器的参数 var temp = {//如果是在服务器端实现分页,limit、offset这两个参数是必须的 limit : params.limit, // 每页显示数量 offset : params.offset, // SQL语句起始索引 //page : (params.offset / params.limit) + 1, //当前页码 Name : $('#search_name').val(), Tel : $('#search_tel').val() }; return temp; }, columns : [ { title : '登录名', field : 'loginName', sortable : true }, { title : '姓名', field : 'name', sortable : true }, { title : '手机号', field : 'tel', }, { title : '性别', field : 'sex', formatter : formatSex,//对返回的数据进行处理再显示 }, { title : '操作', field : 'id', formatter : operation,//对资源进行操作 } ] }) //value代表该列的值,row代表当前对象 function formatSex(value, row, index) { return value == 1 ? "男" : "女"; //或者 return row.sex == 1 ? "男" : "女"; } //删除、编辑操作 function operation(value, row, index) { var htm = "<button>删除</button><button>修改</button>" return htm; } //查询按钮事件 $('#search_btn').click(function() { $('#mytab').bootstrapTable('refresh', { url : 'user/getUserListPage' }); })
4: bootstrap-table はフロントエンド ページングを実装します
JS ページング コードの一部の属性を変更します
sidePagination:'client', queryParams : function (params) { var temp = { name:$('#search_name').val(), tel:$('#search_tel').val() }; return temp; },
ユーザー オブジェクトの定義
package com.debo.common; public class User { private Integer id; private String loginName; private String name; private String tel; private Integer sex; //省略Get/Set函数 }
サーバー コントローラー層のコード
/** *直接一次性查出所有的数据,返回给前端,bootstrap-table自行分页 */ @RequestMapping("/getUserListPage") @ResponseBody public List<User> getUserListPage(User user,HttpServletRequest request){ List<User> list = userService.getUserListPage(user); return list; }
mabatis ステートメント
<select id="getUserListPage" resultType="com.debo.common.User"> SELECT * FROM user WHERE 1 = 1 <if test="name!=null and name !=''"> AND name LIKE CONCAT('%',#{name},'%') </if> <if test="tel!=null and tel !=''"> AND tel = #{tel} </if> </select>
5: ブートストラップ テーブルはサーバー側のページングを実装します。
JS ページング コードに特定の属性を設定する
sidePagination:'server', queryParams : function (params) { var temp = { limit : params.limit, // 每页显示数量 offset : params.offset, // SQL语句起始索引 page: (params.offset / params.limit) + 1, //当前页码 Name:$('#search_name').val(), Tel:$('#search_tel').val() }; return temp; },
パブリック ページ オブジェクトをカプセル化し、ユーザー オブジェクトにページ オブジェクトを継承させる
package com.debo.common; public class Page { //每页显示数量 private int limit; //页码 private int page; //sql语句起始索引 private int offset; public int getLimit() { return limit; } public void setLimit(int limit) { this.limit = limit; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public int getOffset() { return offset; } public void setOffset(int offset) { this.offset = offset; } }
package com.debo.common; public class User extends Page{ private Integer id; private String loginName; private String name; private String tel; private Integer sex; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLoginName() { return loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public Integer getSex() { return sex; } public void setSex(Integer sex) { this.sex = sex; } }
返されたデータ エンティティをカプセル化するclass
package com.debo.common; import java.util.ArrayList; import java.util.List; public class PageHelper<T> { //实体类集合 private List<T> rows = new ArrayList<T>(); //数据总条数 private int total; public PageHelper() { super(); } public List<T> getRows() { return rows; } public void setRows(List<T> rows) { this.rows = rows; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } }
サーバー コントローラー レイヤー コード
@RequestMapping("/getUserListPage") @ResponseBody public PageHelper<User> getUserListPage(User user,HttpServletRequest request) { PageHelper<User> pageHelper = new PageHelper<User>(); // 统计总记录数 Integer total = userService.getTotal(user); pageHelper.setTotal(total); // 查询当前页实体对象 List<User> list = userService.getUserListPage(user); pageHelper.setRows(list); return pageHelper; }
mybatis ステートメント
<select id="getTotal" resultType="int"> SELECT count(1) FROM user WHERE 1 = 1 <if test="name!=null and name !=''"> AND name LIKE CONCAT('%',#{name},'%') </if> <if test="tel!=null and tel !=''"> AND tel = #{tel} </if> </select> <select id="getUserListPage" resultType="com.debo.common.User"> SELECT * FROM user WHERE 1 = 1 <if test="name!=null and name !=''"> AND name LIKE CONCAT('%',#{name},'%') </if> <if test="tel!=null and tel !=''"> AND tel = #{tel} </if> LIMIT #{offset},#{limit} </select>
ヒント: 操作の追加、削除、または変更後にテーブルをリロードします
$("#mytab").bootstrapTable('refresh', {url : url});
プログラミング関連の知識については、プログラミング教育! をご覧ください。 !
以上がブートストラップ テーブル ページングを実装する 2 つの方法に関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ブートストラップを使用して検索バーの値を取得する方法:検索バーのIDまたは名前を決定します。 JavaScriptを使用してDOM要素を取得します。要素の値を取得します。必要なアクションを実行します。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

ブートストラップを使用して垂直センタリングを実装します。FlexBoxメソッド:D-Flex、Justify-Content-Center、Align-Items-Centerクラスを使用して、FlexBoxコンテナに要素を配置します。 ALIGN-ITEMS-CENTERクラス方法:FlexBoxをサポートしていないブラウザの場合、親要素の高さが定義されている場合、Align-Items-Centerクラスを使用します。

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します
