首先在引入jQuery和Bootstrap的前提下引入bootstrap-table文件 ,我用的本地,可以用Bootcdn。
<link href="../static/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
<script src="../static/js/plugins/bootstrap-table/bootstrap-table.min.js" ></script> <script src="../static/js/plugins/bootstrap-table/bootstrap-table-zh-CN.min.js"></script>
HTML代码:
<div class="tableBody">
<div class="panel panel-default">
<div class="panel-heading">
查询条件
</div>
<div class="panel-body form-group" style="margin-bottom:0px;">
<label class="col-sm-2 control-label" style="text-align: right; margin-top:5px">姓名:</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="name" id="searchName"/>
</div>
<div class="col-sm-2 pull-left">
<button class="btn btn-primary" id="search_btn">查询</button>
</div>
</div>
</div>
<table id="mytab" class="table table-hover"></table>
<div id="toolbar" class="btn-group pull-right" style="margin-right: 20px;">
<button id="btn_add" type="button" class="btn btn-default">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增
</button>
</div>
</div>
js代码:
$(function(){ //根据窗口调整表格高度 $(window).resize(function() { $(\'#mytab\').bootstrapTable(\'resetView\', { height: tableHeight() }) }) //生成用户数据 $(\'#mytab\').bootstrapTable({ method: \'get\', contentType: "application/x-www-form-urlencoded", dataType:"json", url:"/getOneCadreInfo/list", height:tableHeight(),//高度调整 striped: true, //是否显示行间隔色 // dataField: "res",//获取数据的别名,先省略,则为你返回的 pageNumber: 1, //初始化加载第一页,默认第一页 pagination:true,//是否分页 queryParamsType:\'limit\', queryParams:queryParams, sidePagination:\'server\',//在服务器分页 pageSize:10,//单页记录数 // pageList:[5,10,20,30],//分页步进值 showRefresh:true,//刷新按钮 // showColumns:true, clickToSelect: true,//是否启用点击选中行 toolbarAlign:\'right\', buttonsAlign:\'right\',//按钮对齐方式 toolbar:\'#toolbar\',//指定工作栏 columns:[ { title:\'全选\', field:\'select\', checkbox:true, width:25, align:\'center\', valign:\'middle\' }, { title:\'ID\', field:\'id\', visible:false }, { title:\'姓名\', field:\'name\', sortable:false }, { title:\'性别\', field:\'sex\', sortable:false }, { title:\'出生年月\', field:\'birthday\', sortable:true }, { title:\'民族\', field:\'nation\', }, { title:\'籍贯\', field:\'nativePlace\' }, { title:\'操作\', field:\'Button\', align:\'center\', events: operateEvents,//事件 formatter:AddFunctionAlty//添加按钮 } ], locale:\'zh-CN\',//中文支持, }) }) function tableHeight() { return $(window).height() - 140; } //列表行‘操作’按钮 function AddFunctionAlty(value, row, index) { return \'<button id="TableView" type="button" class="btn btn-default">查看</button>\' } //请求服务数据时所传查询参数 function queryParams(params){ return{ pageSize: params.limit, pageNum:params.pageNumber, name:$(\'#searchName\').val() } }
//点击新增按钮事件
window.operateEvents = {
"click #TableView": function (e, value, row, index) {
window.location.href = "/getOneCadreInfo/" + row.id;//跳转新增页面
}
}
//查询按钮事件 $(\'#search_btn\').click(function () { $(\'#mytab\').bootstrapTable(\'refresh\', {url: \'/getOneCadreInfo/list\'});//url为后台action })
后台springBoot:
/**
* 获取列表信息
* @param pageNum
* @param pageSize
* @param name
* @return
*/
@GetMapping("/getOneCadreInfo/list")
public ResponseEntity<?> getAll(@RequestParam(value = "pageNum") Integer pageNum,
@RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
@RequestParam(value = "name") String name) {
PageHelper.startPage(pageNum,pageSize);
List<CadreInfo> list = cadreInfoService.getAll(name);//获取列表数据
PageInfo<CadreInfo> pageInfo = new PageInfo<>(list);
Map map = new HashMap();
int total = list.size();//获取列表长度(有多少条数据)
map.put("total",pageInfo.getTotal());//返回列表总条数
map.put("rows",pageInfo.getList());//返回列表数据
return ResponseEntity.ok(map);
}
后端要把total和rows返回,这是固定,如果你不想可以修改dataField,rows是列表数据!
~不喜欢篮球的摄影师不是一个好程序员~