1. 程式人生 > >js元件-bootstrap table 客戶端分頁與搜尋總結

js元件-bootstrap table 客戶端分頁與搜尋總結

先上程式碼以及效果圖


html程式碼

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%
	pageContext.setAttribute("APP_PATH",request.getContextPath());
%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
      <script type="text/javascript" src="${APP_PATH}/js/bootstrap-dialog.min.js"></script>
           <link href="${APP_PATH}/plugin/layui/css/layui.css" rel="stylesheet" />
	             <script type="text/javascript" src="${APP_PATH}/js/bootstrap-pagy.min.js"></script>
        <link type="text/css" rel="stylesheet" href="${APP_PATH}/css/commone.css" />
         <script type="text/javascript" src="${APP_PATH}/js/teacherList.js"></script> 
                
        <!-- 必須引入 -->
 		 <script type="text/javascript" src="${APP_PATH}/js/jquery-2.0.0.min.js"></script>
        <script type="text/javascript" src="${APP_PATH}/js/bootstrap.min.js"></script>
        <link type="text/css" rel="stylesheet" href="${APP_PATH}/css/bootstrap.min.css" />
	      <link type="text/css" rel="stylesheet" href="${APP_PATH}/css/bootstrap-table.css" />
         <script type="text/javascript" src="${APP_PATH}/js/bootstrap-table.js"></script>
         <script type="text/javascript" src="${APP_PATH}/js/bootstrap-table-zh-CN.js"></script>
         
         
              
</head>
<body>
 	 <div>
 	  <table id="TeacherInfoTable">
 	  
 	  
 	  </table>  
 	 </div>
 	 
 	 <div id="toolbar" class="btn-group">
            <button id="btn_add" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增
            </button>
            <button id="btn_edit" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
            </button>
            <button id="btn_delete" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>刪除
            </button>
        </div>

</body>
</html>

其中後面6個是必須要引入的 給出下載地址

js程式碼

$(function(){
	$('#TeacherInfoTable').bootstrapTable({
		url : 'teacher/getAllList', // 請求後臺的URL(*)			
		method : 'get', // 請求方式(*)
		toolbar : '#toolbar', // 工具按鈕用哪個容器
 		 
		striped : true, // 是否顯示行間隔色
		cache : false, // 是否使用快取,預設為true,所以一般情況下需要設定一下這個屬性(*)
	//	sortable : true, //用 是否啟排序
	//	sortOrder : "asc", // 排序方式
		sidePagination : "client", // 分頁方式:client客戶端分頁,server服務端分頁(*)
		pagination : true, // 是否顯示分頁(*)
		pageNumber: 1,    //如果設定了分頁,首頁頁碼
		pageSize: 4,                       //每頁的記錄行數(*)
	    pageList: [4,5,6],        //可供選擇的每頁的行數(*)
	//	onlyInfoPagination:false, //設定為 true 只顯示總資料數,而不顯示分頁
		showRefresh : true, // 是否顯示重新整理按鈕
//		queryParamsType:'',
		clickToSelect : true, // 是否啟用點選選中行
	//	uniqueId : "fileid", // 每一行的唯一標識,一般為主鍵列
	 	showToggle : false, // 是否顯示詳細檢視和列表檢視的切換按鈕
	//	cardView : false, // 是否顯示詳細檢視
	//	detailView : false, // 是否顯示父子表
		search:true,   //是否啟用搜索框
		
		columns : [ {
			field : 'tUsername',
			title : '教師號',
			 align: 'center',
             valign: 'middle'
		},{
			field : 'tName',
			title : '姓名',
			 align: 'center',
             valign: 'middle'
			 
		}, {
			field : 'tAge',
			title : '年齡',
			 align: 'center',
             valign: 'middle'
		 
		}, {
			field : 'tDepartment',
			title : '所屬學院',
			 align: 'center',
             valign: 'middle'
		} ],
		silent : true, // 重新整理事件必須設定
		 	 
	});
})



Controller層程式碼

@RequestMapping("/getAllList")
		@ResponseBody
		public List<Teacher> getTeacherAll()
		{
			
			return teacherService.getTeacherList();

	 
		} 

資料返回示例


總結:

 客戶端分頁 將分頁方式定為client 一次性從後臺請求所有資料 由前臺進行分頁以及搜尋功能,而不必再次請求伺服器端

 優點:方便 簡單

 缺點:當資料過多時會對效能造成影響

 後面一篇會介紹伺服器端的分頁以及搜尋