找回密码
 立即注册

QQ登录

只需一步,快速开始

kingzd

注册会员

6

主题

37

帖子

117

积分

注册会员

积分
117
kingzd
注册会员   /  发表于:2021-3-18 14:49  /   查看:5522  /  回复:7
本帖最后由 kingzd 于 2021-7-30 14:38 编辑
  1. function sort(listviewName, sortColName, action) {
  2.     //表名称,排序数据所在列名,动作(up/down/reindex)
  3.     var listview = Forguncy.Page.getListView(listviewName);
  4.     var rowCount = listview.getRowCount();
  5.     //是否编索引
  6.     if (action == "reindex"){
  7.         for (var i = 0; i < rowCount; i++) {
  8.             listview.setValue(i, sortColName, i + 1);
  9.         }
  10.         return;
  11.     }
  12.     //调整顺序
  13.     var selectedRowsCount = listview.getSelectedRowIndexs().length;
  14.     var currentRowIndex = listview.getSelectedRowIndex();
  15.     if (selectedRowsCount == 0) {
  16.         alert("未选择记录");
  17.         return;
  18.     } else if (selectedRowsCount > 1) {
  19.         alert("移动时请勿多选")
  20.         return;
  21.     }
  22.     if (action == "up") {
  23.         if (currentRowIndex == 0) {
  24.             alert("已经到顶了");
  25.             return;
  26.         }
  27.         var passiveRowIndex = currentRowIndex - 1;
  28.     } else if (action == "down") {
  29.         if (currentRowIndex == rowCount - 1) {
  30.             alert("已经到底了");
  31.             return;
  32.         }
  33.         var passiveRowIndex = currentRowIndex + 1;
  34.     }
  35.     var oldIndex = listview.getValue(currentRowIndex, sortColName);
  36.     var newIndex = listview.getValue(passiveRowIndex, sortColName);
  37.     listview.setValue(currentRowIndex, sortColName, newIndex)
  38.     listview.setValue(passiveRowIndex, sortColName, oldIndex)
  39.     return true;
  40. }
复制代码


20210327 更新,把重新索引移动到action位置,更为合理一点

自己初学,写的啰里啰嗦,仅达到可以使用的程度,有bug还请大佬赐教保存代码到页面或者应用的js文件内
调用的时候按钮直接调用js把表格1的选中行向上移动就写: sort("表格1","权重","up")
向下移动选中行就写 sort("表格1","权重","down")
记得设置顺序依据列名为“权重”

【已取消】如果权重列序号比较乱,可以最后加参数sort("表格1","权重","up", true)来运行一次,重新编序号

对了 执行后需要提交下表格,表格设置好按权重列排序,就可以实现按一下调节顺序了DEMO在这里,表格设置成始终保留选择项可以连续上下调节位置
sort_demo.fgcc (54.95 KB, 下载次数: 113)

评分

参与人数 4满意度 +20 收起 理由
13559541953 + 5 很给力!
王鸿辉 + 5
白菜贝贝 + 5 赞一个!
lh123 + 5 很给力!

查看全部评分

7 个回复

倒序浏览
kingzd
注册会员   /  发表于:2021-3-19 08:29:01
沙发
lh123 发表于 2021-3-18 23:07
能做个DEMO吗?一段代码没有办法玩。

好的 一会儿发上来
回复 使用道具 举报
kingzd
注册会员   /  发表于:2021-3-19 10:13:13
板凳
lh123 发表于 2021-3-19 09:39
用上了。工序调整。
看图

  现在就是每次调整上下都要保存,不会搞不保存排序。。。我再瞅瞅
回复 使用道具 举报
13861900516
高级会员   /  发表于:2021-3-19 23:49:58
地板
能否搞一个松绑定表格下调整顺序
回复 使用道具 举报
kingzd
注册会员   /  发表于:2021-3-21 12:09:36
13#
13861900516 发表于 2021-3-19 23:49
能否搞一个松绑定表格下调整顺序

我也是个小白。。。没研究出来松绑定排序,因为我也想实现松绑定,现在是退而求其次啦
回复 使用道具 举报
kingzd
注册会员   /  发表于:2021-3-24 08:20:53
16#
lh123 发表于 2021-3-21 14:23
用中间表即可实现。

有个小问题,中间表来展示时候也是提交后才可以排序,没想好怎么把排好的顺序放回原表。。。我这个应用场景原表是经过两次筛选的
回复 使用道具 举报
qiu123
中级会员   /  发表于:2021-4-9 11:51:41
19#
回复 使用道具 举报
qiu123
中级会员   /  发表于:2021-4-9 11:52:30
20#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部