重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如何用bootstrap table实现数据表格?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联建站自成立以来,一直致力于为企业提供从网站策划、网站设计、成都做网站、网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
在使用bootstrap table时可能在很多时候回用的表格来显示数据,如果自己写那肯定没问题,但是数据展示出来就麻烦多了,然而bootstrap table 封装了一套完善的数据表格组件,把从后台请求的数据很容易就展示出来了,bootstrap table有两种实现方式,一种是通过table写定在html里面,另一种是通过js实现,js实现比较灵活,所以这里采用js方式,下面来看实现。
客户端
必须先引入相应的css、js等文件
Bootstrap-Table 添加记录
服务端:只需在接到请求时返回json数组就行了,是json数组哦,不是单个对象,不然就数据展示不出来。
注意bootstrap table 可以前端分页也可以后端分页,这里我们使用的是后端分页,后端分页时需返回含有
total:总记录数 这个键值好像是固定的,我看文档没找到可以修改成别的
rows: 记录集合 键值可以修改 dataField 自己定义成自己想要的就好
{ "total":200, "rows":[ {"id":1, "name":"sallency", "age": 26}, {"id":1, "name":"sallency", "age": 26}, {"id":1, "name":"sallency", "age": 26}, {"id":1, "name":"sallency", "age": 26}, {"id":1, "name":"sallency", "age": 26}] }
但是这可能会有请求时数据赋值不了的情况,那时你就会干着急了,下面还可以使用如下方式进行数据渲染。这个效果和上面一个不一样,这里就不上图了。同样第一步要引入官网所要求的的css/js等文件。
var $table = $("#product"); $table.bootstrapTable({ url: "http://192.168.6.240:8080/form", dataType: "json", contentType: "application/x-www-form-urlencoded", // toolbar: '#toolbar', //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: false, //是否启用排序 sortOrder: "desc", //排序方式 sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*) pageNumber:1, //初始化加载第一页,默认第一页 pageSize: 10, //每页的记录行数(*) pageList:[5,10,20,30],//分页步进值 //可供选择的每页的行数(*) // search:true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 // strictSearch: true, oolbarAlign:'right',//工具栏对齐方式 buttonsAlign:'right',//按钮对齐方式 // showColumns: true, //是否显示所有的列 // showRefresh: true, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 //height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 uniqueId: "id", //每一行的唯一标识,一般为主键列 // showToggle:true, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 // detailView: false, //是否显示父子表onEditableSave // singleSelect: false, // striped: true, //是否显示行间隔色 // cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) // sortable: true, //是否启用排序 // pagination: true, //显示分页按钮 // sortName:"starttime", // sortOrder:"desc", //默认排序 // pageNumber: 1, //初始化加载第一页,默认第一页 // pageSize: 10, //默认显示的每页个数 // showRefresh: true, //是否显示刷新按钮 // showPaginationSwitch: true, //是否显示选择分页数按钮 // queryParamsType: '', //默认值为 'limit' ,在默认情况下 传给服务端的参数为:offset,limit,sort // 设置为 '' 在这种情况下传给服务器的参数为:pageSize,pageNumber queryParams:function(params){ var temp = { pageSize: params.pageSize, //页面大小 pageNumber: params.pageNumber, //页码 table_data:tempdata, } return temp; }, responseHandler:function(res){ //动态渲染表格之前获取有后台传递的数据时,用于获取出除去本身渲染所需的数据的额外参数 //详见此函数参数的api return res; }, // search: true, //显示搜索框(客户端搜索) //sidePagination: "server", //服务端处理分页 // showToggle:true, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 // detailView: false, //是否显示父子表 columns: [{ title : '备注', field : 'code', align : 'center', width : 100, valign : 'middle', },{ title : '操作', field : 'name', align : 'center', width : 120 , valign : 'middle', }, { title : '编码', field : 'calcMode', align : 'center', width : 120 , valign : 'middle', }], onLoadSuccess: function(){ //加载成功时执行 alert("加载数据成功"); }, onLoadError: function(){ //加载失败时执行 alert("加载数据失败"); } }); };
会使用之后是不是觉得比自己写的table更好用多了,还不用写一大堆js和div等,还有更多功能可以去官网了解怎么使用。
看完上述内容,你们掌握如何用bootstrap table实现数据表格的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!