拖动排序

菜单、菜品排序问题
在菜品分类和菜品表中,新增排序字段,以供用户排序。

新增时需要插入序号(max+1)
查询时按照序号从低到高的顺序排序

排序算法:以菜品为例

牛肉粉 序号1
鸡蛋饭 序号2
烤羊肉 序号3
卤豆腐 序号4

① 现在需要将 卤豆腐 放在第一位

1)第一步:获取牛肉粉(欲取代的位置)的序号为1,并获取卤豆腐的GOODS_ID

2)将牛肉粉及其之后的产品的序号+1

牛肉粉 序号1+1 = 2
鸡蛋饭 序号2+1 = 3
烤羊肉 序号3+1 = 4
卤豆腐 序号4+1 = 5

3)将卤豆腐的序号变为1
卤豆腐 序号1(取代)
牛肉粉 序号1+1 = 2
鸡蛋饭 序号2+1 = 3
烤羊肉 序号3+1 = 4

② 将 卤豆腐 放在第2位

1)第一步:获取鸡蛋饭(欲取代的位置)的序号为2,并获取卤豆腐的GOODS_ID

2)将鸡蛋饭及其之后的产品的序号+1

牛肉粉 序号1=1
鸡蛋饭 序号2+1=3
烤羊肉 序号3+1=4
卤豆腐 序号4+1=5

3)将卤豆腐的序号变为2
牛肉粉 序号1=1
卤豆腐 序号2(取代)
鸡蛋饭 序号2+1=3
烤羊肉 序号3+1=4

③ 需要考虑菜品本身已经是第一位的问题

在排序前,将拖动的菜品的序号与最小的序号做比对,如果是一致的,就提示当前菜品已经置顶。

时间: 2024-11-03 22:34:49

拖动排序的相关文章

jquery 鼠标拖动排序Li或Table

1.前端页面 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="拖动排序Li或Table.aspx.cs" Inherits="拖动排序Li或Table" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

锋利的jQuery-7--query ui效果库--拖动排序插件sortable

一个简单的拖动排序效果,具体请参看jQuery ui官网demo. jquery ui :http://jqueryui.com/ sortable例子:http://jqueryui.com/sortable/#portlets 效果如图: html代码: <style type="text/css"> #myList{width: 80px;background: #EEE;padding: 5px;list-style: none;} #myList a{text-d

avalon js实现仿google plus图片多张拖动排序

转载请注明: TheViper http://www.cnblogs.com/TheViper  效果 google plus 拖动+响应式效果: 要求 1. 两边对齐布局,即图片间间距一致,但左右两边的图片与边界的间距不一定等于图片间间距,兼容ie7,8,firefox,chrome.2. 浏览器尺寸变化,在大于一定尺寸时,每行自动增加或减少图片,自动调整图片间间距,以满足两边对齐布局,这时每张图片尺寸固定(这里是200*200px):而小于一定尺寸时,每行图片数量固定(这里最小列数是3),这

IOS UITableView拖动排序功能

UITbableView作为列表展示信息,除了展示的功能,有时还会用到删除,排序等功能,下面就来讲解一下如何实现排序. 排序是当表格进入编辑状态后,在单元格的右侧会出现一个按钮,点击按钮,就可以拖动单元格,移动位置,进行手动排序. 使用系统自带拖动排序功能的步骤: 1.让tableView进入编辑状态,也就是设置它的editing为YES 2.返回编辑模式,也就是实现UITableViewDelegate中的tableview:editingStyleForRowAtIndexPath:方法,在

android可拖动排序GridView实现

经常使用今日头条.网易新闻的同学们应该都会注意到用于管理多个频道的可拖动排序GridView,下面介绍一下可拖动的DragGridView的实现方法.代码放在GitHub上https://github.com/zhaoyu87/DragGridView,需要的同学可以下载 DragGridView继承自GridView,当长按选中某个item进行拖动,放手更新GridView顺序: 1.重写onTouchEvent响应拖动事件:被按下时记录按下坐标:拖动时更新被拖动视图显示:放开时更新排序 2.

可拖动排序的ListView

一.上图 二.简述 1.需要实现的效果是长按右侧可拖动部分布局实现列表项的拖动排序 2.当点击列表项前面的单选按钮时,在该条目右侧显示删除图标,点击该图标删除当前条目. 三.实现思路 借助github上的开源代码drag-sort-listview-master加以改造. 四.主要源码展示 1.Activity代码 package com.gengducun.dslvdemo; import java.util.ArrayList; import android.app.Activity; im

listbox拖动排序

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms; namespace WindowsFormsApplication4{    public partial class Form1 : Form 

记一个react拖动排序中的坑:key

在做一个基于react的应用的时候遇到了对列表拖动排序的需求.当使用sortable对列表添加排序支持后发现一个问题:数据正确排序了,但是dom的顺序却乱了,找了一会儿原因后发现是因为在渲染数据的时候指定了一个动态的key(map((o,i)=>(<li key={i}></li>))),导致了dom顺序混乱.解决方案有:将数据装入模型的时候生成一个不重复的key,或者使用lodash的uniqueId: import uniqueId from 'lodash/unique

Android开发学习之路-RecyclerView滑动删除和拖动排序

Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开发学习之路-下拉刷新怎么做? 本篇是接着上面三篇之后的一个对RecyclerView的介绍,这里多说两句,如果你还在使用ListView的话,可以放弃掉ListView了.RecyclerView自动帮我们缓存Item视图(ViewHolder),允许我们自定义各种动作的动画和分割线,允许我们对It