找回密码
 立即注册

QQ登录

只需一步,快速开始

zzq369
金牌服务用户   /  发表于:2020-9-24 09:25  /   查看:5396  /  回复:10
3金币
本帖最后由 zzq369 于 2020-9-24 09:49 编辑

请问如果想让表里的某一行数据可以上下移动便于查看,有什么办法?最好不用权重,因为用权重的化,当我想把第五行替换成第二行的时候,还得先把第二行替换成别的行。
类似服务端,上下按钮的操作。
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

先看一下效果 具体怎么做的呢? 首先,我的按钮放设置了一个条件格式,如果旁边的这个格子(此文本框已经设置了单元格名称,正式情况下可以隐藏它)等于1,本按钮就可以点击,不然本按钮就是禁用 (条件格式不会的,你自己看帮助文档哈~) 然后怎么让这个文本框在合适的时候变成1呢?这个就要用我们的代码了; 如果你懂代码,你可以自己研究一下我写的代码,如果你不懂的代码的话直接抄代码,然后给你对应的表格也起名叫 ...

10 个回复

倒序浏览
最佳答案
最佳答案
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-9-24 09:25:11
来自 4#
本帖最后由 Simon.hu 于 2020-9-24 11:48 编辑

先看一下效果

具体怎么做的呢?
首先,我的按钮放设置了一个条件格式,如果旁边的这个格子(此文本框已经设置了单元格名称,正式情况下可以隐藏它)等于1,本按钮就可以点击,不然本按钮就是禁用
(条件格式不会的,你自己看帮助文档哈~)

然后怎么让这个文本框在合适的时候变成1呢?这个就要用我们的代码了;
如果你懂代码,你可以自己研究一下我写的代码,如果你不懂的代码的话直接抄代码,然后给你对应的表格也起名叫做【表格1】就行
把以下代码,放到页面加载时命令
  1. var listview=Forguncy.Page.getListView("表格1");
  2. var spread=listview.getControl();
  3. var sheet=spread.getActiveSheet();
  4. sheet.bind(GC.Spread.Sheets.Events.SelectionChanged, function(a,b){
  5.     var newSelection=b.newSelections;
  6.     var listV=Forguncy.Page.getListView("表格1");
  7.     if(newSelection.length>2){
  8.         Forguncy.Page.getCell("showButton").setValue(2);
  9.         return;
  10.     }
  11.     if(newSelection.length==2){
  12.         var count=newSelection[0].rowCount+newSelection[1].rowCount;
  13.         if(count!=2){
  14.             Forguncy.Page.getCell("showButton").setValue(2);
  15.             return;
  16.         }

  17.     }
  18.     else if(newSelection.length==1){
  19.         if(newSelection[0].rowCount!=2){
  20.             Forguncy.Page.getCell("showButton").setValue(2);
  21.             return;
  22.         }
  23.     }
  24.     Forguncy.Page.getCell("showButton").setValue(1);
  25. })
复制代码

做到这一步,你的按钮的启用禁用就OK了

然后是如何交换值?这个我也是写的代码,你要是不懂一样没关系,只需要把对应的表格名字设置好,然后把权重列的名字也起好

按钮中的代码,一样,你要是懂的话,你可以仔细研究一下,你要是不懂的话,直接复制进去就行
  1. var listview=Forguncy.Page.getListView("表格1");
  2. var newSelection=listview.getControl().getActiveSheet().getSelections();
  3. if(newSelection.length>2){
  4.     return;
  5. }
  6. if(newSelection.length==2){
  7.     var count=newSelection[0].rowCount+newSelection[1].rowCount;
  8.     if(count!=2){
  9.         return;
  10.     }
  11.     var row0=newSelection[0].row;
  12.     var row1=newSelection[1].row;
  13.     var value=listview.getValue(row0,"weight")
  14.     listview.setValue(row0,"weight", listview.getValue(row1,"weight"));
  15.     listview.setValue(row1,"weight",value);

  16. }
  17. else if(newSelection.length==1){
  18.     if(newSelection[0].rowCount!=2){
  19.         return;
  20.     }
  21.     var row0=newSelection[0].row;
  22.     var row1=row0+1;
  23.     var value=listview.getValue(row0,"weight")
  24.     listview.setValue(row0,"weight", listview.getValue(row1,"weight"));
  25.     listview.setValue(row1,"weight",value);
  26. }
复制代码

这个代码是的只能修改UI的,所以我们还需要在给表格做一个提交操作


好了打完收工,下面是我的工程文件


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
olookok活字格认证
论坛元老   /  发表于:2020-9-24 10:07:45
2#
用权重,但是不是权重的加减,而是权重的替换。
回复 使用道具 举报
zzq369
金牌服务用户   /  发表于:2020-9-24 10:22:04
3#
olookok 发表于 2020-9-24 10:07
用权重,但是不是权重的加减,而是权重的替换。

请问能具体一点吗,不太会~
回复 使用道具 举报
olookok活字格认证
论坛元老   /  发表于:2020-9-24 18:53:41
5#
zzq369 发表于 2020-9-24 10:22
请问能具体一点吗,不太会~

不用JS的排序


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
zzq369 + 5

查看全部评分

回复 使用道具 举报
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2020-9-24 19:40:48
6#
楼上大佬厉害啊~
回复 使用道具 举报
sz_xd
金牌服务用户   /  发表于:2020-10-3 15:26:16
7#

感谢分享,谢谢!
回复 使用道具 举报
elanwooyoo活字格认证
金牌服务用户   /  发表于:2020-10-3 19:06:51
8#
保存下来学习学习
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-10-9 10:24:32
9#
感谢大佬支持~
回复 使用道具 举报
amao47kiki2
初级会员   /  发表于:2021-8-5 11:10:58
10#
Simon.hu 发表于 2020-9-24 09:25
先看一下效果

具体怎么做的呢?

胡总,这个案例中,表格不能松绑定吧?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部