bootstrap-table學習系列--分頁查詢

引言

bootstrap-table的好處就是在于,可以借用封裝好的框架,來實現自己的需求.利用其對表的封裝,我們可以很輕松畫出美觀大方法的表格.本篇,作為表的分頁查詢,來系統介紹總結一下.

這里提出分頁需求:用戶可以根據需要調整每頁的顯示條數和查看每頁的記錄數.

實現方法

利用bootstrap-table插件,對其進行基礎配置,展示出分頁表頭.

代碼

下面直接上代碼.

前臺代碼:

頁面引入文件:

<!-- jQuery-->

<script src="../resources/jquery/juqery-1.12.4.min.js" th:src="@{/resources/jquery/juqery-1.12.4.min.js}" type='text/Javascript"></script>

<!-- bootstrap-->

<link href="../resources/bootstrap/bootstrap.min.css" th:href="@{/resources/bootstrap/bootstrap.min.css}" rel="stylesheet" type="text/css"/>

<script src="../resources/bootstrap/bootstrap.min.js" th:href="@{/resources/bootstrap/bootstrap.min.js}" type="text/javascript"></script>

<!-- bootstrap-table-->

<link href="../resources/bootstrap/bootstrap-table/bootstrap-table.min.css" th:href="@{/resources/bootstrap/bootstrap-table/bootstrap-table.min.css}" rel="stylesheet" type="text/css"/>

<script src="../resources/bootstrap/bootstrap-table/bootstrap-table.min.js" th:src="@{resources/bootstrap/bootstrap-table/bootstrap-table.min.js}" type="text/javascript"></script>

<script src="../resources/bootstrap/bootstrap-table/bootstrap-table-zh-CN.min.js" th:src="@{/resources/bootstrap/bootstrap-table/bootstrap-table-zh-CN.min.js" type="text/javascript"></script>

頁面代碼:

//工具欄

<div>

? ? <label for="NAME">名稱</label>

? ? <div><input type="text" id="NAME"/></div>

</div>

<div>

? ? <div><a href="javascript:void()" ?class="btn btn-primary"?id="search">查詢</a></div>

</div

<div>

? ? <table class="table" id="demo"></table>

<div>

頁面bootstrap-table畫表過程:

<script th:inline="JavaScript" type="text/JavaScript">

? ? //頁面初始化完成后立即加載

? ? $(function(){

? ? ? ? //初始化table

? ? ? ? var oTable = new TableInit();

? ??????oTable.Init();

? ? ? ? //查詢

? ? ? ? $("#search").click(function(){

? ? ? ? ? ? $("#demo").bootstrapTable('destory');

? ? ? ? ? ? var table = new TableInit();

? ? ? ? ? ? table.Init();

????????});

????});

? ? var TableInit = function(){

? ? ? ? var oTableInit = new Object();

? ? ? ? var url = [[@{/action/test}]];

? ? ? ? //初始化Table

? ??????oTableInit.Init = function(){

? ? ? ? ? ? $("#demo").bootstrapTable({

? ? ? ? ? ? ? ? url: url,

? ? ? ? ? ? ? ? method: 'post',

? ? ? ? ? ? ? ? striped: true,//隔行顯色

? ? ? ? ? ? ? ? cache: false,

? ? ? ? ? ? ? ? contentType: "application/x-www-form-urlenceded; charset=UTF-8",

? ? ? ? ? ? ? ? sortable: false,//是否啟用排序

? ? ? ? ? ? ? ? queryParamsType: "undefined",

????????????????queryParams:oTableInit.queryParams,

????????????????responseHandler: function(res){

? ? ? ? ? ? ? ? ? ? return res.result;

? ? ? ? ? ? ? ? },

????????????????pagination:true,//是否顯示分頁

? ??????????????paginationVAlign:"top",//設置分頁條位置

? ??????????????paginationDetailHAlign:"right",

? ??????????????paginationHAlign:"right",

? ??????????????pageNumber:,//初始化加載第一頁,默認第一頁

? ??????????????pageSize:20,//默認每頁顯示條數

? ??????????????pageList: [10, 20, 50],

? ??????????????sidePagination: "server",

? ??????????????minimumCountColumns: 2,//最少允許的列數

? ??????????????clickToSelect: true,//啟用點擊選中行

? ??????????????uniqueId: "ID",

? ??????????????checkboxHeader: true,

? ??????????????showExport: false,

? ??????????????columns: [{

? ??????????????????field: "ID",

? ??????????????????title: '項目id',

? ??????????????????align: "center"

? ??????????????}, {

? ??????????????????field: 'NAME',

? ??????????????????title: '名稱',

? ??????????????????align: "center"

? ??????????????},{

? ??????????????????field: 'INPUT_DATE',

? ??????????????????title: '創建日期',

? ??????????????????align: "center"

????????????????},{

? ??????????????????title: '操作',

? ??????????????????field: 'Id11',

? ??????????????????align: "center",

? ??????????????????formatter: formatOperat

? ??????????????}]

? ??????????});

? ??????????$('#demo').bootstrapTable('hideColumn', 'ID');

????????????function?formatOperat(value,row,index){

? ? ? ? ? ? ? ? return ['<a id="viewBtn" onclick="view(\''+row.ID+'\')">查看</a>&nbsp;&nbsp;<a id="delBtn" onclick="del(\''+row.ID+'\')">刪除</a>'].join('');

????????}

????};

? ? //得到查詢的參數

? ??oTableInit.queryParams = function(params) {

? ??????if(!params.limit) {

? ??????????params.limit = params.pageSize;

? ? ? ? }

? ??????if(!params.offset) {

? ??????????params.offset = params.pageNumber;

? ? ? ? }

? ? ? ? var temp = {

? ??????????page_number: params.offset, //頁面大小

? ??????????line: params.limit, //頁碼

? ??????????ID: $("#ID").val(),

? ??????????NAME:$("#NAME").val(),

? ??????????INPUT_DATE: $("#INPUT_DATE").val()

????????};

? ??????return temp;

? ??};

? ??return oTableInit;

};

? ? function?view(id){

? ? ? ? ......

}

function del(id){

? ? ......

}

</script>

后臺:

Controller層:

@Validated

@Controller

@RequestMapping("/action/")

public class DemoController {

? ??@Autowired

????private DemoService demoService;

? ??@RequestMapping(value="/test", method = RequestMethod.POST)

????@ResponseBody

? ? public Map<String, Object> getData(String NAME,String page_number,String line){

????????Map<String,Object> map = new?HashMap<String,Object>();

? ? ? ? map.put("NAME",NAME);

? ??????map.put("page_number",page_number);

? ???????map.put("line",line);

? ??????List> returnList = service.getData(paramsMap);

? ? ? ? return?ParamUtils.returnData("1", ReturnTyme.success, "", ParamUtils.converData(returnList));

? ? }

....

}

service層

public List<Map<String,Object>> getData(Map<String,Object> paramsMap) {

????return dao.getData(paramsMap);

}

Dao層

public List> getData(Map paramsMap) {

PageHelper.startPage(Integer.parseInt(paramsMap.get("page_number").toString()),

Integer.parseInt(paramsMap.get("line").toString()));

return sqlSession.selectList("demo.getData", paramsMap);

}

xml文件

<select id="demo.getData"?parameterType="java.util.HashMap" resultType="java.util.HashMap">

SELECT

ID,

NAME,

INPUT_DATE,

FROM

demo.test

WHERE 1=1

<if test="NAME!=null and NAME!=''">

and NAME = #{NAME}

</if>

<select>

效果圖:


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 在業務系統開發中,對表格記錄的查詢、分頁、排序等處理是非常常見的,在Web開發中,可以采用很多功能強大的插件來滿足...
    往事隨feng閱讀 3,332評論 0 13
  • 引言 很多情況下,我們都要寫一些報表,在數據量比較大的情況下,會造成表內容太多,表比較長,需要用側欄的下拉條進行查...
    行舟2009閱讀 13,442評論 1 3
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,947評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評論 18 399
  • 一 他是在一個暑假的夏令營中對她一見鐘情,當時她長發飄飄的出現在他的...
    喜歡深海的鯨閱讀 284評論 0 2