简单实现后端拖拽功能(上移、下移、顶部、底部)

首先,我们需要定义一个包含ID和排序值的对象

public class MoveObject { public int ID { get; set; } public int Order { get; set; } }

接下来,我们需要使用.NET Core提供的API来实现上移、下移、顶部和底部的功能

//上移
 public void MoveUp(List list, int id) { var item = list.FirstOrDefault(x => x.ID == id); if (item == null) return;

var index = list.IndexOf(item); 
if (index == 0) 
    return; 

var aboveItem = list[index - 1]; 
SwapOrder(item, aboveItem); 
}
// 下移 
public void MoveDown(List list, int id) { var item = list.FirstOrDefault(x => x.ID == id); if (item == null) return;

var index = list.IndexOf(item); 
if (index == list.Count - 1) 
    return; 

var belowItem = list[index + 1]; 
SwapOrder(item, belowItem); 
}
// 顶部 
public void MoveTop(List list, int id) { var item = list.FirstOrDefault(x => x.ID == id); if (item == null) return;

var index = list.IndexOf(item); 
if (index == 0) 
    return; 

var firstItem = list.First(); 
SwapOrder(item, firstItem); 
}
// 底部 
public void MoveBottom(List list, int id) { var item = list.FirstOrDefault(x => x.ID == id); if (item == null) return;

var index = list.IndexOf(item); 
if (index == list.Count - 1) 
    return; 

var lastItem = list.Last(); 
SwapOrder(item, lastItem); 
}
// 交换排序值 
private void SwapOrder(MoveObject item1, MoveObject item2) { int temp = item1.Order; item1.Order = item2.Order; item2.Order = temp; }

以上功能只是互相替换,若有顶部、底部拖拽后,其余数据依次进行排序要求
请查询下一篇文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值