zoukankan      html  css  js  c++  java
  • 置顶功能 -- 数据表格的某行数据的置顶功能 -- Demo


    只有置顶

    先给对应的数据库表中添加(一个可以标记置顶的状态即可,例如 已读) type : 置顶状态(0:未置顶; 1:置顶)

    首先根据置顶状态倒叙排序, 这样置顶的数据总是排在前面;
    其次根据创建时间进行倒叙排序.
    点击置顶按钮后, 修改状态, 保存. 再次调用查询所有即可.

    select * from t_role
    ORDER BY type DESC, createTime ASC;
    

    代码参考:

          Map<String, SearchFilter> filters = new HashMap<>();
          .
          .
          Specification<实体类> specification = DynamicSpecifications.bySearchFilter(filters.values());
          //主要是两个排序字段
          Sort sort = new Sort(Sort.Direction.DESC, "ceilingState").and(new Sort(Sort.Direction.DESC, "createTime"));
          return repository.findAll(specification, PageUtils.buildPageRequest(vo.getPageNum(), vo.getPageSize(), sort));
    

    置顶,置底,上移,下移

    对应的数据库表中添加排序字段index_number, 为了后续两个对象的交换位置;
    按index_number排序;
    准备交换位置 ,遍历查询出来的列表....交换index_number,也就是交换了位置.
    置顶 : 和第一个交换位置.
    置底 : 和最后一个交换.
    上移 : 和上一个交换.
    下移 : 和下一个交换.

  • 相关阅读:
    AOP的实现原理——动态代理
    反射
    代理模式
    sprig——jar包
    spring事务管理
    [c++基础]3/5原则--拷贝构造函数+拷贝赋值操作符
    [c++面试准备]--vector对象是如何增长的
    c++面试须知
    redhat--1
    kvm配置虚拟机[待整理]
  • 原文地址:https://www.cnblogs.com/wqkeep/p/13152721.html
Copyright © 2011-2022 走看看