背景

最近在做课程后台开发时,遇到一个很有意思的问题。问题是这样的,有多节课程,运营人员可以根据需要调整课程的先后顺序,从而更改课程的展示顺序。

接到这个需求,立刻就想到了以前做首页banner轮播图的管理后台。轮播图中每一张图有先后顺序之分,为了进行图片排序,在设计banner实体时,设计了一个 weight (权重)字段。然后,让运营人员给每张图填写1~500值,值越大,则排序越靠前。由于轮播图展示的图片有限(不超过5张),即使通过人工填值的方式管理顺序,也不是很麻烦。但是,这种填权重管理顺序的方式不适用于数据量较多的课程管理。那么,如何解决这种排序问题呢?

为了解决元素自定义排序问题,我们想了很多解决办法。例如,

增加上移/下移功能,更改当前元素排序

填权重,或增减权重值

置顶排序

拖拽排序

最后,综合考虑了一下,认为第四种最符合日常操作的习惯。针对拖拽排序进行了后端方案设计。

拖拽排序前端效果

需求描述

允许更改元素的排序;

允许新增数据,并更新现有排序;

允许删除数据,并更新现有排序。

解决办法

方法一 全量更新元素位置法

适用场景:排序元素数量较少

原理:每个元素拥有一个字段,表示元素当前排序的位置

java实现拖动框排序_拖拽排序后端设计与实现相关推荐

  1. Android表格拖拽排序,Android 拖拽排序控件 DragGridView

    Android 拖拽排序控件 DragGridView Android 开发中,我们经常会遇到条目拖拽排序的需求,特别是在新闻类应用中就更普遍了.其实,我们在网上可以搜到许多关于拖拽排序的自定义控件, ...

  2. java se拖动插件_JQuery之拖拽插件

    Jeremy - DragDrop Test !(function($) { $.extend({//获取鼠标当前坐标mouseCoords:function(ev){if(ev.pageX||ev. ...

  3. java se拖动插件_JQuery之拖拽插件实现代码

    而很多页面效果都要用到这些位置.不得已,得练练,得记记. 下面就来说说这个基于 JQuery的简易拖拽插件吧. 按惯例,先说说拖拽的原理,以及搞这么一个东东的步骤: 那什么是拖拽呢? 看名字就知道了: ...

  4. RecyclerView长按拖拽排序 ,缩短长按响应时间,长按0.1秒就可以开始拖动

    RecyclerView长按拖拽排序 ,缩短长按响应时间,长按0.1秒就可以开始拖动 度娘搜索RecyclerView长按拖拽排序,很多文章讲解,没找到缩短长按响应时间的,所以自己研究了一下 先看效果 ...

  5. Java拖拽排序工具类

    package com.ciih.jwt.util.sort;import java.lang.reflect.Field; import java.util.Collections; import ...

  6. android gridview拖动排序,Asp.net GridView 拖拽排序    原创(欢迎拍砖,敬请嘴下留情!)...

    原理:客户端排序(或者说组织新的排序顺序),Ajax 更新服务器端数据. 客户端用jquery插件sortable实现拖拽排序,保存之前检索顺序变化了的数据,并组织成Json数据,用AJax传送到服务 ...

  7. vue.js 拖拽排序_快速轻巧的Vue.js拖放可排序库

    vue.js 拖拽排序 vue-smooth-dnd (vue-smooth-dnd) A fast and lightweight drag&drop, sortable library f ...

  8. element-ui table行列拖拽排序功能和解决列拖动数据不跟随改变的bug问题

    1.引入依赖 sortablejs npm install sortable.js --save 2.在mounted() 函数中分别引入两个自定义的方法 , 分别是行和列的拖动 贴一下这两个方法,拖 ...

  9. html5+vue无法拖拽,Vue拖拽排序插件Vuedraggable使用方法详解_心善_前端开发者

    大家好,最近做的项目要用到拖拽排序,我现在的项目是 首先在 npm install vuedraggable -S 下载下来后,引入插件,在你的vue文件的script标签里面这样引入 import ...

最新文章

  1. 使用ThinkPHP实现生成/校验验证码功能
  2. SQL函数大全——实例
  3. java两个有序数组的初始化_leecode:88–合并两个有序数组 | 星尘
  4. python中的高阶函数
  5. js array 对象
  6. 用Node.JS+MongoDB搭建个人博客(成品展示)
  7. django_rest_framework之GenericAPIView(二)之搜索、排序、分页讲解
  8. 加大weblogic在Linux内存,在linux运行weblogic出现运行内存不足错误,求鞭挞....
  9. 从零开始内建你的安全测试流程
  10. java 中字符串比较方法_java中常用的字符串的比较方法(两种)
  11. Arrays类详细讲解
  12. vue-cli webpack 引入jquery
  13. sorted()函数快速实现字典输出
  14. git 服务器上新建项目
  15. Java高并发 -- 并发扩展
  16. 总体参数的假设检验 R
  17. Android实现制作氢壁纸,氢壁纸怎么制作?氢壁纸制作方法介绍[图]
  18. BackTrack 4 R1 – Public Release
  19. smss.exe之wom毒
  20. 大坝安全监测解决方案

热门文章

  1. 登峰造极,阿里高工手码分布式系统速成笔记,千万别害怕迈出第一步
  2. 问题 C: 世界那么大,我想去看看
  3. 中国海洋大学计算机调剂名单,中国海洋大学2017年接收硕士调剂考生的通知
  4. 根据xml文件找到对应的图片文件
  5. 电脑用什么录屏软件录游戏不卡
  6. 常说的渲染是什么意思?js怎么渲染?
  7. 电脑桌面就剩回收站和计算机,电脑桌面只剩下回收站怎么办
  8. 带你用VUE实现上传图片效果
  9. 计算机网络技术教室场景,这到底是一间教室?还是一间计算机室?
  10. 现代企业管理笔记——组织