这样定义了表格结构,也把后台返回的数据通过EL表达式显示数据。
<table id="table" data-pagination="true" data-page-list="[5,10,20,50,100,200]" data-toggle="table"> <thead> <tr class="alert-info"> <th data-align="center">index</th> <th data-align="center">name</th> </tr> </thead> <tbody> <c:forEach items="${child}" var="li" varStatus="vs"> <tr> <td>${vs.index+1}</td> <td><a href="childInfo?childID=${li.id}">${li.name}</a></td> </tr> </c:forEach> </tbody> </table>
html中定义表头或者js中定义columns都可以
<table id="table"> <thead> <tr> <th data-field="id">ID</th> <th data-field="name">Item Name</th> <th data-field="price">Item Price</th> </tr> </thead> </table> </div> <script> var $table = $('#table'); $(function () { var data = [ { "id": 0, "name": "Item 0", "price": "$0" }, { "id": 1, "name": "Item 1", "price": "$1" }, { "id": 2, "name": "Item 2", "price": "$2" } ]; $table.bootstrapTable({data: data}); });
(1) 直接发送请求
//定义表格模型 var columnModel = [{ field: 'state', checkbox:true, title: '选择' }, { field: 'index', formatter:indexFormatter,//可定义这一列的一些样式 title: 'index' }, { field: 'id', title: 'Item ID' }, { field: 'name', title: 'Item Name' }, { field: 'price', title: 'Item Price' }]; $table.bootstrapTable({ method:'get', url:'loadData', //ajax请求或者外部文件路径都可以 columns:columnModel }); /** * 显示行号 */ function indexFormatter(value,row,index){ return index+1; } /** * 改为链接,或者增加一些样式 */ function indexFormatter(value,row,index){ return [ '<a href="javascript:getId('+row.id+');" title="getId">', '<i class="glyphicon glyphicon-export" aria-hidden="true"></i>', '</a>' ].join(''); }
(2)更改请求
$table.bootstrapTable('refresh',{ url:'loadDateAgain?param1='+param1+'param2='+param2});当然也可以更改其他的属性。
(3)外部文件加载
<table id="table" data-toggle="table" data-url="../json/data2.json"> </table>
$table.bootstrapTable({ method:'get', url:'json/data2.json', //ajax请求或者外部文件路径都可以 pagination:true, sidePagination:'client', pageNumber:1, pageSize:10, pageList:[5,10,15,20,50,100,200], columns:columnModel });
一次性获取了全部的数据,从前台进行翻页, 可以在js或者html中定义
$table.bootstrapTable({ method:'get', url:'loadHistory', pagination:true, sidePagination:'client', pageNumber:1, pageSize:10, pageList:[5,10,15,20,50,100,200], columns:columnModel });
从后台获取指定的页码的数据
$table.bootstrapTable({ method:'get', url:'loadData', pagination:true, sidePagination:'server', pageNumber:1, //默认的页码 pageSize:10, //默认每页数据量 pageList:[5,10,15,20,50,100,200], queryParams: queryParams, //返回传给后台的参数 queryParamsType: "notlimit",//'limit', the params object contains: limit, offset, search, sort, order; //Else, it contains: pageSize, pageNumber, searchText, sortName, sortOrder. Return false to stop request. responseHandler: responseHandler,//对返回数据的预处理 columns:columnModel }); /** * 分页参数 */ function queryParams(params) { return { pageSize:params.pageSize, pageNumber:params.pageNumber } } /** *返回数据格式化 */ function responseHandler(res){ return { "rows":res.list, "total":res.rowsCount } }