六安沧州西安三亚宝鸡菏泽
投稿投诉
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

教程列表拖动排序的实现方式

  在很多任务管理,计划管理类的应用中,大都有对列表进行拖动排序的功能,这样非常方便用户根据自己的需要进行排列。但是用Axure实现这一功能,网上似乎没有一篇有关的教程,而你能搜索到的也只是关于Axure无法实现拖动排序的言论。但这是真的吗?本文作者将在此给你揭晓答案。
  经过大鹏的多次尝试,使用Axure制作拖动排序原型的难题终于有了很大进展,但还没有完全攻克。因为目前的实现效果还有很大的缺陷,实际上也只是实现了一部分的拖动排序功能。也就是,只能实现向上拖动排序,无法实现向下拖动排序。
  先来看一下效果吧。
  (点击预览)
  一、原型解析
  其实这个原型的交互也十分简单,只有一种操作:拖动。
  当你选中一个条目向上拖动到它上面的条目的上面时,松开鼠标,被你拖动的这个条目就会插入到你拖到的位置,同时将它下面的条目挤下去,从而达到重新排序的效果。
  然后,你可以无限次的拖动。
  但由于原型本身存在的缺陷,你只能向上拖动,向下拖动的时候是无法改变每个条目原本的顺序的,也就是没有办法重新排序。
  二、设计思路
  这个原型其实有两个要点:一是拖动,二是排序。
  1、关于拖动
  在Axure中实现拖动效果,不可避免的是要用到动态面板,在这个原型中,动态面板的作用除了实现拖动效果,还要进行拖动后一系列逻辑的处理。
  2、关于排序
  如果单纯的想实现排序,毫无疑问,中继器是首选,它的必杀技之一就是排序。但是问题来了,中继器能做排序了,可是能针对中继器的一个条目做拖动吗?其实,最开始的时候我也是不知道的,只是在实验的过程中得到了意想不到的效果。
  另外,还有一个关键的问题就是即使可以实现中继器的拖动排序,那么排序字段的值怎么设置,因为拖动之后是要改变原本的排序字段的值的,这样再进行排序才能得到重新排序的效果。我最先想到的是通过拖动的位移来计算被拖动的对象处在来什么位置,然后计算出它所在位置的排序值。
  三、制作过程
  1、准备中继器
  在工作区拖入一个中继器,设置中继器的属性,你可以任意增加几行或者几列。
  当然至少要保证一列Column0(你可以将它改为其他的名字),这一列用来排序的时候使用。所以。无论你增加多少行,Column0列的值都要保证是一个自然数序列(当然也不是必须,只是这样在计算的时候会比较简单一些);然后其他的列就可以用于你想要显示的内容列,这些自定义就好列,我下面只举一个最简单的例子。
  另外,设置中继器的事件可以让它显示你设置的内容。在我的案例中,则是让中继器中的矩形上显示中继器Column1的内容。
  2、将中继器中的内容转为动态面板
  在我这个例子中只有一个矩形,我将它专为动态面板,相信这个操作小伙伴们应该都会,只需要在矩形上点击右键,选择转为动态面板即可。
  3、设置动态面板的交互事件
  本文的重点就在这里了,这也是实现这个原型的关键。
  (1)添加拖动事件
  拖动事件的首要目的是要实现当我们上下拖动条目时,可以使得条目能够上下移动。
  这时候小伙伴们可以预览一下原型,会有意想不到的效果哦,也正是因为这个效果,成为本原型能够实现的关键。
  (2)添加拖动结束时事件
  上面那一步实现了将列表中的某个条目拖动其他条目的上面,然后我们期望的效果是,当拖动结束时,被拖动的条目可以插入到刚才到位置。在前面的设计思路中,我已经讲过了实现原理。那接下里我要做的事情就是要获得被拖动的条目的新的排序序号。
  比如,我要把E拖动到B和C之间,我们知道A、B、C、D、E的排序序号分别是1、2、3、4、5,那么E要能够排列在B和C中间,那E的新序号就要在2和3之间。
  OK,接下来我们就通过一些动作让E获得拖动后的新的序号。
  这里用到中继器的一个动作更新行,就是更新中继器中条目的数据。根据我们前面所说的,那我是要更新我拖动的那个条目的Column0列,然后它的值则是通过一个公式来计算得到。
  我们来分解一下公式:
  (0TotalDragY)40
  这个的意思是计算出拖动了几个条目的距离,其中40代表的是中继器的每个条目的高度,要根据你实际的数值来写。
  Item。Column0((0TotalDragY)40)
  这个意思则是计算出我们想要的排序值了,只不过带有很长的小数,其实到这里也可以了,后面的toFixed(1)只是用于将小数点保留1位,可以省略这步转换。
  得到排序值之后,我们理所当然的就要给中继器增加一个排序事件了,这个动作也是在拖动结束时执行,因此我们再在刚才的更新行动作下增加一个添加排序动作。
  这时候再去预览一下原型,你会发现第一次的排序效果已经可以实现了,但是频繁拖动几次之后就会发现排序乱套了,这是因为排序字段的值被修改了之后,计算出现了偏差(因为本来的顺序是1、2、3、4、5,拖动排序一次之后可能变成了1、2、2。5、3、4,这时候再进行拖动的时候套用上面的公式是有问题的)。
  其实解决这个问题,我们只需要在一次拖动排序完成后,将每个条目的排序字段(Column0)的值按新的顺序更新为自然数,但是这个动作是不能直接加在拖动结束时的事件上的,需要在中继器外建立一个事件来执行,可又需要在拖动结束时之后自动执行,这时候就用到了AxureRP8特有的事件FireEvent(触发事件)。
  (3)添加触发事件
  在添加触发事件之前,我们需要先加入一个隐藏按钮,然后给它设置点击时事件,在这个事件上执行更新条目排序值的操作,然后添加触发事件的时候让它触发按钮上的这个点击时事件。
  之后再在第步中的拖动结束时事件上增加触发事件动作,去执行隐藏按钮上的点击时事件。
  到这里,基本的拖动排序就完成了,你可以在此基础上进行一些优化,比如优化一下拖动的交互效果,比如控制一下向下拖动时产生的问题等等。

世道如此悲夫张仪近来将《大秦帝国之纵横》看了一遍,心中有点点感慨,且不吐不快,遂将之简约地叙述一番。帝王我国的春秋战国是大争之世,所谓优胜劣汰、弱肉强食是也。然则,观此剧帝王的作用……大脸妹看过来最瘦脸的发型1、长发还是短发?五官精致立体,肉少,或者长得特别美或个性,可以考虑短发,否则不要瞎闹,剪了就回不去了。接发不仅贵,而且坐到屁股发麻,图啥?肉肉脸或者五官不够立体,……一句哲学的话生气是拿别人做错的事来惩罚自己。你喜欢一些这样具有哲理的句子么?来看看吧!下面是美文网小编为你搜集、整理的,希望你喜欢!一句哲学的话精选:1)有种力量较放大目标,有……款清纯短发发型推荐邻家女孩气质惹人怜爱想要一种清纯的短发就不要修剪出干练的气息,柔顺的及脖短发,加上碎发的刘海的给人以清新的形象的令人很是舒心。齐肩的短对于夏天来说可能会增加热度,可是美度也一直在上升啊,发尾……芬迪是什么档次芬迪是意大利著名的时尚品牌,其档次位于较高地位。芬迪旗下的产品有香水、包包、男装、女装、珠宝等,其中皮草以及经典手袋最受消费者的欢迎。芬迪其精湛的工艺使其价格也较为昂贵。……皮肤黑的人穿黑色好看吗这么穿你也是时尚皮肤黑的人适合穿黑色吗?皮肤黑的人当然适合穿黑色。只要注意相应的搭配技巧,在单品款式的选择上多花心思,黑皮肤的人穿黑色也能够酷够美够性感,下面就具体老看看黑皮肤的人怎么穿……阿三与寡妇从前有个寡妇,家道贫寒,只生一子,母子相依为命。这年,家中缺粮,靠挖野菜度日。一日,路过蕃茹地,想到六岁儿子两天没进一粒米,见四周无人,便掘了二块蕃茄用围身布兰包好,正待走开,……冬天女生穿什么衣服好看最贵气的冬天当然需要皮草与〔page〕〔page〕冬天女生穿什么衣服好看皮草与毛呢服饰都是高级奢华感的代表,也请别认为这样的服饰只有成熟女性才适合,现在越来越多的小女生都穿了起来。皮草……海蓝之谜唇膏使用方法贵妇级唇膏你用对了吗〔page〕〔page〕海蓝之谜唇膏使用方法日常随身携带使用海蓝之谜唇膏可以在平常就随身带着使用,以备嘴唇干燥紧绷的状态出现。一般来说,海蓝之谜唇膏是比较持久……聆听和赞同的意义绝对不要忘记任何愚人都可以反对别人,而只有智者和伟人才会赞同尤其当对方犯错误时!赞同艺术可概括为以下6点:Psy525。cn1。学会赞同和认可2。当你赞同别人时,请……追故乡的人的读后感大全《追故乡的人》是一本由熊培云著作,理想国广西师范大学出版社出版的精装图书,本书定价:52。00元,页数:424,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。……双前直通车改版你读懂了么双十一招商规则刚出不久,直通车又做新改版,为了让各个商家可以在接下来的旺季中将这一工具玩得更加得心应手,暂时在一些大商家店铺将改此次改版做一测试。总得来说,这次改版不管是对于数……
乌龟咬人怎么办在逗aclasstaghrefwiki10615ICaH9EB3。html乌龟a的时候,有可能会被乌龟咬伤。下面,我们来看看乌龟咬人该怎么办吧。操作方法01:hr戳……怎么用钩针钩杯子套杯套的作用很多,可以隔热,保温,还可以让你的杯子看起来更漂亮,下面给大家介绍怎么用钩针钩杯子套。操作方法01:hr先教大家钩杯垫,环状起针,三针辫子针起立,长针十二……晚上睡不着有什么妙招方法包括:采取平常而自然的心态,睡眠诱导,饮热牛奶法,合适的睡姿,食用一些助眠水果等。不少的朋友因为工作压力的原因,晚上会出现失眠的情况,究竟有什么方法可以解决晚上睡不着……王者荣耀百穿铭文怎么配今天小编给aclasstaghrefwiki10790IF35ZKy84。html大家a介绍的是如何搭配王者荣耀的百穿铭文,希望对大家有所帮助。操作方法01:hr首……电脑总是自动重复按键盘上的一个键aclasstaghrefwiki10449IHtPgab17。html电脑a开机打字的时候,有时候会遇到,重复的自动打同一个字或者字母,根本停不下来的情况,这种情况持续了好多……怎么把手机内部存储里的文件移到卡里去aclasstaghrefwiki10458IQMwDHW43。html手机a文件转移其实都大同小异,步骤无非那么几项,这里以vivo手机为例。操作方法01:hr在……如何将爱奇艺中的视频文件保存到手机里当我们在爱奇艺app上缓存了aclasstaghrefwiki10913Iaf9py430。html视频a,但是在本地播放器中根本无法播放。这是因为视频换成了其他格式的文件,而……鸽子的寿命是多少年鸽子的寿命一般是在15年到20年的时间。根据品种和饲养的方式的不同,它们具体的寿命长短会有一定的出入。作为种鸽的鸽子一般不能超过六岁。想要判断它们的年龄,可以通过羽毛鉴别法、指……梅花盆栽养殖方法和注意事项的种植方法养殖梅花盆栽时可将沙土、田园土、腐叶土按照4:3:2的比例混合制作成营养土进行栽种,栽种前需对小苗进行适当的修整后再将其栽种到土壤中,并适当浇水,使小苗和盆土更好的接触。之后需……龟兔赛跑续写自从那次龟兔赛跑过后,乌龟就成大名人了,许多广告公司都来找它拍广告。这天,乌龟正躺在竹椅上,一边喝着新鲜的果汁,悠哉悠哉地看着报纸。突然,从报纸上的一则新闻映入了乌龟的眼……蚂蚁的奥秘放学回到家,我就看见院里的树下有许多黑黑的小东西,我马上跑了过去。啊!原来是一群小蚂蚁。今天刚下过雨,看它们是又要搬家了。我从来都没见过蚂蚁搬家,现在我就来探究一下。蚂蚁……感谢四季我们的生活多姿多彩,有滋有味,是什么给了我们美食?是什么给了我们温暖的衣服?是四季,是它们给了我们吃穿,是它们了我们五彩缤纷的世界。春天是一个生机勃勃是季节,它唤醒了在冬……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网