分享高级技巧,表格值改变,同步进行标识!还可以长期留存!
本帖最后由 phoben 于 2021-7-29 16:18 编辑一年一度的《活字格低代码应用大赛》又双叒叕来啦!
这次就靠你们了!,我也会继续奉献插件、源码等干货给大家!
一个客户提出的需求,这里给大家分享下实现方法
客户的需求是:当修改表格内的数据,需要实时将有变动的格子标识出来
效果:
动图:
仔细想想,活字格好像并没有这个功能? 该怎么实现呢? 格友们可以先动动脑筋想想!
其实,想实现这个效果并不难,只需要使用单元格条件 + 一小段的JS代码即可以达到目的。
原理:通过JS接口来获取修改值的事件,并储存修改单元格的位置信息,将位置信息储存起来
然后通过“单元格条件格式”来设置一段条件。即可实现实时的改变效果;
具体做法如下:
第一步:
在页面中随便选一个不用的单元格,取名为:changeCell
第二步:
将下方JS放到页面加载命令里
var change = function(arg,arg2) {
var info = arg2.CellRanges.Row+1 +":"+ arg2.CellRanges.Column
var cell= Forguncy.Page.getCell("changeCell")
var oldValue = cell.getValue()
oldValue = oldValue?oldValue +","+ info:info
cell.setValue(oldValue)
}
var page = Forguncy.Page;
var listview = page.getListView("表格1");
listview.bind("valueChanged", change)
第三步:
设置表格的条件格式,将需要用到这个效果的列都设置好。
条件格式内的公式设置为如下
=IF(FIND(ROW()&":"&COLUMN(),changeCell)>-1,1,0)
然后点击"格式..."按钮,设置你喜欢的样式,我这里就设置红色边框+红色字+浅红色背景色
完成上述这三步以后,就能看到效果
细心的格友会发现,其实每当表格值发生变更,changeCell 这个单元格的内容也会跟着变
从而引发条件格式,让表格样式发生改变,这就是实现此效果的核心
当我们想清空这个标识的时候,怎么办?
对,我们只需要清空changeCell的值即可!
当然,事情没那么简单,客户此时提出第二个需求,这个改变结果,我想在下次打开,或者其他人浏览的时候,也继续存在
也就是说,此次的改变不能只是一次性,而是根据需要长期留存,作为一个重要的标识!
已经做到这个份儿上了,相信格友们知道怎么解决这个问题了。
没错~就是把咱们changeCell的值存起来不就行了?
结合清空还可以随时改变标识位置。
下面是将标识位置信息存到数据库的做法,看下效果:
这里就是全部的教程,如果大家想详细研究,我这里也上传了DEMO工程
大家可以下载学习!
好,顶一个 很多时候就是换个思路问题就会迎刃而解 看不懂 还要金币 V587:)好思路 全是30金币,也没有个批发价,隔壁都29了,{:4_86:} 学习了,简单易懂,感谢楼主:hjyzw: 感谢大神,学习了 很实用的功能,点赞! 喜大普奔,原来还有这个思路 ,我之前跟胡老板探讨的时候,我是想到用两个表格做对比