Maison  >  Article  >  interface Web  >  bootstrap-table implémente la fonction de pagination côté serveur

bootstrap-table implémente la fonction de pagination côté serveur

php中世界最好的语言
php中世界最好的语言original
2018-04-18 14:10:123029parcourir

Cette fois, je vous apporte une bootstrap-table pour implémenter une fonction de pagination côté serveur, et une table d'amorçage pour implémenter une pagination côté serveur Notes Il y en a lesquels, voici des cas pratiques, regardons.

Récemment, le front-end utilise le plug-in de table d'amorçage. La pagination côté client ne fonctionne pas bien si la quantité de données est importante, donc le côté serveur est utilisé pour paginer de grandes quantités de données. . Commençons le code

Front-end

Tout d’abord, jetons un coup d’œil aux paramètres de pagination par défaut transmis par la table bootstrap

  • le décalage commence à partir de quel indice

  • limiter le nombre de limites par page

Il peut être différent de nos paramètres de pagination par défaut, nous avons donc décidé de le modifier. Les paramètres passés en arrière-plan sont

  • . page page À partir de 0

  • taille Le numéro affiché sur chaque page

  •   $('#'+ tableId).bootstrapTable({
         queryParams:function(e) {
          varparam = {
           size: e.limit,
           page: (e.offset / e.limit),//不需要+1
          };
          returnparam;
         },
         sidePagination:“server”;
    });

En coulisses

@ApiOperation(value ="获取企业列表,支持分页", notes ="json方法获取用户列表")
@ApiImplicitParams({@ApiImplicitParam(name ="name", value ="企业名称", required =true, dataType ="string"),
@ApiImplicitParam(name ="beginTime", value ="开始时间", required =true, dataType ="string") })
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
publicMap<String,Object> list(@RequestParamMap<String,Object> map,@RequestParam(required =false) String name,@RequestParam(required =false) String beginTime,@RequestParam(required =false) String endTime,@RequestParam(required =false) Integer deptid){
 List<Map<String,Object>> list =newArrayList<>();
 //当前页数
 intpage = map.get("page")==null?0: Integer.parseInt(map.get("page").toString());
 // 每页行数
 intsize = map.get("size") ==null?10: Integer.parseInt(map.get("size").toString());
 Order order =newOrder(Direction.ASC,"id");
 Order order1 =newOrder(Direction.DESC,"createTime");
 List<Order> orders =newArrayList<Order>();
 orders.add(order1);//先按照createTime 降序排序 然后按照id升序
 orders.add(order);
 Sort sort =newSort(orders);
 Pageable pageable =newPageRequest(page,size,sort);
 Page<Company> companyPages =null;
 if(StringKit.isEmpty(name)){
  companyPages = companyService.companyDao.findAll(pageable);
 }else{
  companyPages = companyService.companyDao.findByNameLike(name,pageable);
 }
 
 List<Company> companyList = companyPages.getContent();
 SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 for(Company company:companyList){
  Map<String,Object> mapTemp = BeanKit.describe(company);
  mapTemp.put("createTime", sdf.format(company.getCreateTime()));
  list.add(mapTemp);
 }
  Map<String,Object> data =newHashMap<String,Object>();
  data.put("total", companyPages.getTotalElements());
  data.put("rows", list);
 returndata;
}

Points à noter

Les paramètres reçus par la table bootstrap doivent inclure le total et les lignes. Le total est la quantité totale et les lignes sont la quantité par page

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. veuillez faire attention aux autres sites Web chinois php.

Lecture recommandée :

Angularjs implémente le téléchargement d'un aperçu d'image

vue utilise axios et l'encapsulation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn