ssm多个下拉框组合成一条数据_【界面进阶教程下篇】保存和加载多套界面配置数据...

之前有群友问这么一个问题:

bd3bb2dae138128494930af07ca47237.png

在做脚本的时候,可能界面会有多套功能要实现,每次使用的时候都要重新设置一遍,少量的还好,当修改的配置数据比较多的时候就会比较烦,今天的文章就来解决一下这个问题。

先来看看我做的效果:

96c160c865fcd6aa834c2ea3a517e3cf.gif

在界面中我设置3个功能按钮:分别是加载、保存和清空。

先说最简单的清空按钮:

Function 清空()

For i = 1 To 2

uip.SetAttribute("输入框"&i,{"初始文本":""})

Next

For i = 1 To 2

uip.SetAttribute("多选框"&i,{"选中":false})

Next

End Function

在案例中我是有两个输入框和两个多选框要修改,考虑到实际应用的时候会用更多,所以这里我用循环。为了让循环和界面元素有相关性,我在界面元素命名的时候,都使用统一的界面元素名+序号的格式,比如:输入框1,输入框2,……当然这种命名也符合大家的使用习惯。

这样在使用的时候,放在循环中就可以变成 “输入框”&i(i是循环计次变量)当i=1的时候,uip.SetAttribute("输入框"&i,{"初始文本":""}),就是让输入框1的初始文本为空白。同理uip.SetAttribute("多选框"&i,{"选中":false})就是让多选框1变成未选中的状态。当i等于其他数字的时候,就会把对应的界面元素清空或者变成未选中状态。

用循环有一个好处,就是界面无论有多少个同样的元素,只要修改一下循环的次数就可以了。

关于保存和加载功能是这期案例的难点,我们先说说保存功能,有以下几个知识点:

3835f83ec7ce04429b35e6e98b63f729.png

一、使用文本保存界面配置数据,并用数字命名,数字来自下拉框的序号。

d176d2bccb1a65f8e37f5f9a24793931.png

二、文本内容以json格式存储起来,方便调用。

4989c775c7cd8233c467cb6a808f4e2a.png

三、同清空功能类似,按界面元素类型保存,界面元素命名也是名称+序号的形式,然后通过循环保存,在多个相同元素就只修改循环次数即可。

操作思路:

第一步:获取界面下拉框的选项序号,默认是从0开始的。

dim a=uip.getAttribute("下拉框1")

Dim b=a["初始选项"]

第二步:把获取的序号作为配置文件的保存名称。

d176d2bccb1a65f8e37f5f9a24793931.png

第三步:以上一步获取的名字新建一个文本,方便后续往文本中追加数据。

file.write("/sdcard/pictures/" & b & ".txt", "")

第四步:按照元素循环写入,输入框、多选框、下拉框,文本框等,下面是以输入框为例:

1b43329fa690d585e4072a3174d731aa.png

先读取输入框里面的内容m["初始文本"],考虑到要json格式来保存:

"输入框1":"公众号3分钟学堂",

需要补充很多内容:"""输入框"&i&""":"""&m["初始文本"]&""","

循环把所有的界面元素读取出来保存,这里面我在编写的时候,发现布尔值也就是true和false是不能进行字符串拼接,所以我直接换成了,把true换成1,false换成0,然后在存储起来。

3ba843ba2536ad5f8e44c279b38db2c7.png

第五步:所有元素内容都保存完以后,把json格式需要的前后花括号补充上。

Dim x=file.read("/sdcard/pictures/" & b & ".txt")

file.write("/sdcard/pictures/" & b & ".txt","{"&left(x,len(x)-1)&"}")

这几步以后保存功能就完成了。

加载功能的介绍:

36f403ac9c282166e62ab97f389f70c0.png

所谓加载其实就是把保存的内容读取出来。

第一步:根据下拉框来确定读取哪个文本内容,比如配置1,序号是0,那么就是读取0.txt这个文本。

第二步:把读取的内容json转表
dim t=Encode.JsonToTable(x)

第三步:循环写入到界面中

For i = 1 To 2

uip.SetAttribute ("输入框"&i,{"初始文本":t["输入框"&i]})

Next

对于多选框,就先判断是1还是0,然后在写入true和false。

这样加载读取就完成了,对于有大量的元素,在元素命名和填写循环次数的时候一定要认真,不要填错了。

好了本期教程就这些内容,代码源文件我会上传到付费群 78237147,如果有需要可以去群文件下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值