当前位置:首页>开发>正文

bootstrap怎么对表格分页显示 bootstrap table客户端分页怎么用

2023-06-26 23:55:02 互联网 未知 开发

 bootstrap怎么对表格分页显示 bootstrap table客户端分页怎么用

bootstrap怎么对表格分页显示

bootstrap的分页
    在bootstrap中分页有两种, 一种是正常的分页, 第二种是翻页. 就是有上一页和下一页的显示效果.
  1.分页: 带有页面的效果, 这里你里面可以随你的网站怎么定义都可以, 比方说. 里面不是文字, 而是一些图标,一样可以. 只不过数字能够更好的看效果. 使用样式: .pagination
  2.带有上一项和下一项的翻页效果, 最简单的方式. 样式.pager
  两种方法的实现, 都是需要使用ul标签, 链接是使用a. 还有一些状态, 比方说, 我选中了某一项. 其中的某一项静止使用.
    一个简单的分页, 默认的效果. 在ul上加上样式.pagination, 然后下面就是一个一个的li. 然后实现效果, 就如图所示, 这就是一个最简单的默认的样式. 可以看出来, 实现起来很简单. 但是效果却很棒.
    如何在显示的页面上高亮显示, 标识显示的是该页. 这里使用样式.active. 来标识选择的页面. 查看效果和代码如图.
  这里需要注意的是: 在该代码里增加了如下的代码: (current) 是因为, 该代码表示, 当前页面不为能点击. 因为当前页面, 数据已经刷新出来了. 如果你想要点击, 就把这句话去掉.
    如何在到第一页或者尾页的时候, 让上一页和下一页禁止用户点击. 这里可以使用.disabled 样式来实现. 如图所示, 让上一页不能点击. 在不想让单击的样式上加上.disabled 即可.
    在分页里面, 定义了除了默认的样式大小之外, 还定义了另外两种样式.
  1 .pagination-lg 比默认样式大的样式
  2 .pagination-sm 比默认样式小的样式
  实现代码对比效果. 左侧是放大的样式, 右侧是缩小的样式.
    这里给出的样式都是最简单的样式, 如果需要其他样式的, 比方说, 不喜欢这个颜色. 等等, 那就需要自己自定义样式来实现.

bootstrap table客户端分页怎么用

前端代码块 function initTable(){ $(#test-table).bootstrapTable({ method: get, toolbar: #toolbar, //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下...

BootStrap-table 客户端分页和服务端分页的区别

前端代码块

  



  function initTable(){
  $(#test-table).bootstrapTable({
  method: get,
  toolbar: #toolbar, //工具按钮用哪个容器
  striped: true, //是否显示行间隔色
  cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  pagination: true, //是否显示分页(*)
  sortable: false, //是否启用排序
  sortOrder: "asc", //排序方式
  pageNumber:1, //初始化加载第一页,默认第一页
  pageSize: 10, //每页的记录行数(*)
  pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
  url: "/testProject/page4list.json",//这个接口需要处理bootstrap table传递的固定参数
  queryParamsType:, //默认值为 limit ,在默认情况下 传给服务端的参数为:offset,limit,sort
  // 设置为 在这种情况下传给服务器的参数为:pageSize,pageNumber

  //queryParams: queryParams,//前端调用服务时,会默认传递上边提到的参数,如果需要添加自定义参数,可以自定义一个函数返回请求参数
  sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  //search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  strictSearch: true,
  //showColumns: true, //是否显示所有的列
  //showRefresh: true, //是否显示刷新按钮
  minimumCountColumns: 2, //最少允许的列数
  clickToSelect: true, //是否启用点击选中行
  searchOnEnterKey: true,
  columns: [{
  field: id,
  title: id,
  align: center
  }, {
  field: testkey,
  title: 测试标识,
  align: center
  }, {
  field: testname,
  title: 测试名字,
  align: center
  },{
  field: id,
  title: 操作,
  align: center,
  formatter:function(value,row,index){
  //通过formatter可以自定义列显示的内容
  //value:当前field的值,即id
  //row:当前行的数据
  var a = 测试
  }
  }],
  pagination:true
  })
  }

  在前端通过请求获取table数据时,bootstrap table会默认拼一个 searchText的参数,来支持查询功能。

  服务端代码

  @RequestMapping(value = "/page4list.json")
  public void page4list(Integer pageSize, Integer pageNumber, String searchText, HttpServletRequest request,
  HttpServletResponse response) {

  //搜索框功能
  //当查询条件中包含中文时,get请求默认会使用ISO-8859-1编码请求参数,在服务端需要对其解码
  if (null != searchText) {
  try {
  searchText = new String(searchText.getBytes("ISO-8859-1"), "UTF-8")
  } catch (Exception e) {
  e.printStackTrace()
  }
  }
  //在service通过条件查询获取指定页的数据的list
  List list = mwMsgQueueService.page4List(pageSize, pageNumber, searchText)
  //根据查询条件,获取符合查询条件的数据总量
  int total = mwMsgQueueService.queryCountBySearchText(searchText)
  //自己封装的数据返回类型,bootstrap-table要求服务器返回的json数据必须包含:totlal,rows两个节点
  PageResultForBootstrap page = new PageResultForBootstrap()
  page.setTotal(total)
  page.setRows(list)
  //page就是最终返回给客户端的数据结构,可以直接返回给前端

  //下边这段,只是我自己的代码有自定义的spring HandlerInterceptor处理返回值,可以忽略。
  request.setAttribute(Constants.pageResultData, page)

  }

  完成上述代码,即可实现服务器端自动分页,bootstrap-table根据服务器端返回的total,以及table设定的pageSize,自动生成分页的页面元素,每次点击下一页或者指定页码,bootstrap-table会自动给参数pageNumber赋值,服务器返回指定页的数据。

  如果发送的是post请求,因为bootstap table使用的是ajax方式获取数据,这时会将请求的content type默认设置为 text/plain,这样在服务端直接通过 @RequestParam参数映射是获取不到的。

  这时就需要在bootstrap-table的参数列表中显式设置

  contentType: "application/x-www-form-urlencoded"

  设置成form表单的形式,tomcat内部就会自动将requset payload中的数据部分解析放到request.getParameter()中,之后就可以直接通过@RequestParam映射参数获取