一、项目说明
①此项目是ASP.NET项目,开发语言是C#
②bootstrap-table使用需要下载对应的css和js插件
③具体详情还需查看api文档
二、前端代码
1 <div class="table-responsive">
2 <table id="table" class="text-nowrap"> </table>
3 </div>
【说明】 ①text-nowrap设置表格超出不换行而显示滚动条,避免表格列过多
②table-responsive:有table-responsive,表格有滚动条
没有table-responsive,网页有滚动条
$('#table').bootstrapTable({
url: '/B_Product/GetProductData', //请求后台的URL(*)
method: 'get', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: function (pageRequest) {
return pageRequest;
},//
//传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: true, //是否显示所有的列
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
height: tableHeight(), //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
uniqueId: "Id", //每一行的唯一标识,一般为主键列
showToggle: false, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
showExport: true, //是否显示导出按钮
buttonsAlign: "right", //按钮位置
exportTypes: ['excel'], //导出文件类型
Icons: 'glyphicon-export',
columns: [{
checkbox: true
}, {
field: 'ID',
title: '编号',
visible: false
}, {
field: 'PRODUCTID',
title: '产品编号'
}, {
field: 'PRODUCTNAME',
title: '产品名称'
}, {
field: 'PRODUCTUSER',
title: '货主名称'
}, {
field: 'PRICE',
title: '单价(元)' }, {
field: 'BARCODERULE',
title: '条码规则'
}, {
field: 'ISUSING',
title: '启用状态',
formatter: function (value, row, index) {
if (value == "启用")
return '<span class="glyphicon glyphicon-ok label label-success" style="font-size:90%"> 启用</span>';
else
return '<span class="glyphicon glyphicon-remove label label-danger" style="font-size:90%"> 不启用</span>';
}
}, {
field: 'REMARK1',
title: '备注'
},
]
});
【说明】以上是表格初始化方法
①请求网址返回的数据是json数组
②传递的默认参数有页数和页的大小,如果在服务端分页,分页方式为:server
③表格随动(随着页面大小的改变,表格的大小随之改变)
这里写了一个tableHeight()方法获取屏幕的高度,同时利用Windows的resize方法重新传递参数,刷新表格
1 function tableHeight() {
2 var h = $(window).height();
3 return h-25;
4 }
【重新设置表格属性值并刷新】
1 $(window).resize(function () { 2 $("#table").bootstrapTable('resetView', { 3 height: tableHeight() 4 }); 5 });
$("#table").bootstrapTable("refresh");//表格刷新数据
④为表格设置checkbox
在columns:中设置第一列 checkbox: true,将会用全选功能
field: 'ID', 此名称需和json对应的key值相同才会显示对应的value值
title: '编号', title是列名,显示的名称
visible: false 表示初始为不可见,可通过表格右上方的按钮设置列的显示和不显示
⑤在表格中设置样式
表格中显示按钮等不同状态的
formatter: function (value, row, index) {
if (value == "启用")
return '<span class="glyphicon glyphicon-ok label label-success" > 启用</span>';
else
return '<span class="glyphicon glyphicon-remove label label-danger" > 不启用</span>';
}
返回的参数有三个,value代表当前值,row表示当前行,index当前行数