Axure设计之中继器表格——拖动列调整位置教程(中继器)

一、原理介绍

实现表格列的拖动排序,主要依赖Axure的动态面板中继器两大核心功能:

  1. 动态面板交互控制

    • 将表格的列标题封装在动态面板中,通过拖拽事件(开始、移动、结束)捕捉用户操作

    • 在拖拽过程中实时计算鼠标位置,动态调整列的位置视觉反馈

    • 记录原始列位置与目标位置的索引值

  2. 中继器数据联动

    • 表格内容通过中继器动态生成,每个单元格与数据集的字段绑定

    • 当列顺序改变时,通过调整中继器项目的显示顺序实现内容同步更新

    • 利用中继器的「项目加载时」事件自动填充数据

  3. 坐标定位机制

    • 通过比较鼠标移动的X轴坐标差,判断列应该向左或向右移动

    • 在拖拽结束时,根据最终位置重新排列所有列的显示顺序

二、示例预览

源文件已上传到CSDN资源中心,需要可以直接下载源文件:中继器表格拖动列调整位置案例

三、材料准备

  • 矩形元件:用于构建表格的表头和行内容。
  • 中继器:用于生成表格内容。
  • 动态面板:只有动态面板才能实现拖动效果,因此需要将中继器中的行转换为动态面板。

四、步骤详解

1、表格表头设置

  • 使用矩形元件制作不需要参与拖动的表头,例如"序号、操作"列。

  • 需要拖动的列使用中继器实现,设置布局为水平,命名为表头中继器。

  • 在表头中继器表格中,设置排序列(如"xh"列)和内容列,排序列用于逻辑交互。

2、表格数据行设置

  • 数据行直接使用中继器,这里定义好列对应的字段,命名为数据行中继器。

  • 中继器如果需要移入高亮效果,可以设置相应的交互样式。

3、拖动列设置

  • 这里使用矩形元件,分别复制表头的矩形和数据行的矩形组合成表格完整的一列,这里命名为拖动列组合。

  • 当我们鼠标拖动列头的某列时,其实就是控制拖动列的显示及位置移动。

4、动态面板设置:

  • 表头中继器内部添加一个动态面板,置于最上方,用于拖动交互。

  • 动态面板宽度和表格同宽,高度为列头的高度。

5、交互设置

  • 表头中继器载入时:设置中继器按照排序列(如"xh"列)的升序排列。
  • 中继器每项加载时:将中继器表格中的内容设置到对应的矩形元件中。
  • 动态面板交互:分别设置好拖动开始时、拖动时、拖动结束时、移动时、单击时的交互。

五、注意事项

  • 在设置拖动效果时,要确保动态面板的高度和位置适中,以便于用户拖动。

  • 在计算移动距离和目标位置时,要考虑边界情况,如拖动到底部或顶部时的处理。

  • 可以根据需要添加美化效果,如高亮显示、斑马线效果等。

通过以上步骤,就可以在Axure中实现表格行的任意拖动调换位置排序功能。这一功能在自定义表格、数据展示等场景中非常实用。

相关推荐
招风的黑耳3 小时前
Axure设计之内联框架切换页面、子页面间跳转问题
axure·页面跳转·内联框架
梓贤Vigo13 小时前
【Axure高保真原型】输入框插入话题效果
交互·产品经理·axure·原型
招风的黑耳2 天前
智慧城市综合运营管理系统Axure原型
智慧城市·axure
梓贤Vigo13 天前
【Axure教程】增删改饼图
交互·产品经理·axure·原型·教程
梓贤Vigo14 天前
【Axure高保真原型】动态地图路线
交互·产品经理·axure·原型
梓贤Vigo15 天前
【Axure视频教程】手电筒效果
交互·产品经理·axure·原型·教程
招风的黑耳16 天前
Axure复选框组件的深度定制:实现自定义大小、颜色与全选功能
axure·axure元件
招风的黑耳16 天前
基于Axure的动态甘特图设计:实现任务增删改与时间拖拽交互
axure·甘特图
小马哥编程17 天前
【产品经理从0到1】原型及Axure介绍
产品经理·axure·photoshop
PM大明同学18 天前
Axure PR 9 中继器 标签
ui·交互·产品经理·axure