置頂功能 -- 數據表格的某行數據的置頂功能 -- 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,也就是交換了位置.
置頂 : 和第一個交換位置.
置底 : 和最后一個交換.
上移 : 和上一個交換.
下移 : 和下一個交換.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM