最新消息:

Axure中继器(标记/删除)重复行

Axure高级教程 Jorkin 182浏览

前言

  • 数据重复是指在数据集中存在相同的数据记录,数据重复的原因有很多,比如人为操作失误、多点采集、数据传输错误、备份还原错误等。
  • 数据去重是指在数据处理中,通过比较不同记录之间的特定字段,将相同或类似的记录保留一份,并删除其他副本的过程。

大家都用过Excel的数据筛选功能吧?点击筛选器图标,下拉列表中会显示出该列的全部值,相同的值只会出现一次,明显是执行了去重操作。如果想在Axure里实现这种效果应该怎么做呢?

传统办法

  • 建一个全局变量,再拟定一个间隔符号(比如:逗号、斜杠、竖线等)。
  • 在中继器的“每项加载时”判断该全局变量是否包含当前行字段值
    • 如果包含字段值,说明是数据重复,标记或者删除。
    • 如果不包含字段值,把对应字段的值与间隔符号一起拼接到全局变量尾部。

这种方法是可以应付大多数情况,但不够灵活,比如要求保留时间戳最小/最大的,或者需要同时比较多个列时就捉襟见肘了。

先决知识

你对中继器监听器了解多少?如果不明白监听器是什么东西,可以先阅读一下《Axure监听之中继器监听》这篇文章。最好能够清楚为什么要用监听器、什么时候用、以及怎么用。

!!!这个知识点是中继器进阶应用的基础,很多以往非常难以实现的交互通过监听器都可轻松实现。

准备工作

先准备好以下元件:

  • 一个中继器,数据塞入部分重复数据
    • 默认的矩形,用来显示数据,同时定义一个“选中样式”
    • 一个热区(取名:重复行监听)
  • 一个标记重复行按钮
  • 一个删除重复行按钮

重复行监听

交互代码如下:

[[TargetItem.Column0 == Item.Column0 && TargetItem.index > Item.index]]

如果需要同时比较多个字段,就继续在后面多加条件即可。

标记重复行

交互非常简单:

删除重复行

前面已经知道怎样标记重复行了,先触发标记重复行监听,再删除标记行就行了!

自己决定是一步搞定还是分步操作。

演示地址

https://usrsky.axshare.com/#id=fc90a6&g=1

总结

利用中继器监听可以非常轻松的标记出或删除掉重复行。知道为什么我一直强调务必要学会中继器监听器的原因了吧?

如果觉得我的教程做的不错呢,欢迎关注、收藏、转发、捐赠,谢谢。

原文链接:Axure中继器(标记/删除)重复行

转载请注明:最InのAxure » Axure中继器(标记/删除)重复行