Axure设计之表格列冻结(动态面板+中继器)

devtools/2024/9/22 18:11:47/

在Web端产品设计中,复杂的表格展示是常见需求,尤其当表格包含大量列时,如何在有限的屏幕空间内优雅地展示所有信息成为了一个挑战。用户通常需要滚动查看隐藏列,但关键信息列(如ID、操作按钮等)在滚动时保持可见,即实现列冻结效果,能够极大地提升用户体验。本文将详细介绍如何使用Axure RP9工具,结合动态面板和中继器功能,实现这一高级交互设计。

一、效果预览

 预览:Axure

想象一下一个包含多列的表格,如员工信息表,包含员工ID、姓名、职位、部门、联系方式等多个字段。在滚动查看表格时,员工ID和操作列(如编辑、删除按钮)始终固定在表格的最左侧和右侧,而中间的其他列则随着滚动条上下移动。

二、实现思路
  1. 动态面板实现滚动:利用动态面板的滚动条功能,为整个表格区域提供滚动支持。
  2. 中继器实现动态表格数据加载中继器用于动态生成表格数据,方便管理和更新。
  3. 为动态面板添加滚动时交互:通过监听动态面板的滚动事件,调整需要冻结的列的位置,使其在视觉上保持固定。
三、关键步骤
1. 准备中继器数据
  • 在Axure中创建一个中继器,设置其数据字段以匹配你的表格需求(如ID、姓名、职位等)。
  • 填充中继器数据,确保有足够的数据量以测试滚动效果。
2. 设计表格布局
  • 使用矩形或表格组件在画布上绘制表格框架,包括表头和表体。
  • 中继器的每个字段映射到表体的相应位置,使用中继器的“每项加载时”动作填充数据。
3. 创建动态面板实现滚动
  • 将整个表格(包括表头和表体)放入一个动态面板中。
  • 设置动态面板的滚动属性为“垂直滚动”。
4. 冻结列设计
  • 对于需要冻结的列(如ID和操作列),可以分别使用两个动态面板或矩形来单独放置,并确保它们位于动态面板(表格滚动容器)的外部。
  • 调整这些冻结列的宽度和位置,使其看起来像是表格的一部分。
5. 编写滚动交互
  • 为包含表格的动态面板添加“滚动时”事件。
  • 在事件中,使用“移动”动作来调整非冻结列(即中继器生成的表格数据部分)的位置,使其随着滚动条移动而移动,但保持冻结列的位置不变。
  • 这通常涉及到计算滚动条的位置,并相应地调整非冻结列的动态面板或元素的Y坐标。
6. 测试与调整
  • 在Axure预览模式下测试表格的滚动和列冻结效果。
  • 根据需要调整列宽、动态面板尺寸及滚动交互的逻辑,确保用户体验流畅。

通过上述步骤,你可以在Axure中成功实现一个具有列冻结功能的动态表格。这种设计不仅提升了用户界面的美观性,还显著提高了用户在使用复杂表格时的效率和体验。

往期推荐:

Axure高端交互元件库:助力产品与设计-CSDN博客

Axure打造科技感数据可视化大屏原型-CSDN博客

Axure中继器动态数据图表制作_axure中继器做饼状图-CSDN博客

Axure中继器教程及案例详解-CSDN博客

Axure十大常用函数教程-CSDN博客

Axure设计之动态条形图教程(中继器)_axure中继器-CSDN博客


http://www.ppmy.cn/devtools/114002.html

相关文章

vue2、vue3生成二维码

Vue2版&#xff1a; 工具&#xff1a;使用 qrcodejs插件来生成二维码 安装&#xff1a;npm install qrcodejs2 qrcodejs官网地址&#xff1a; https://davidshimjs.github.io/qrcodejs/https://davidshimjs.github.io/qrcodejs/ 代码示例&#xff1a; <template><…

原生 input 中的 “type=file“ 上传文件

目标&#xff1a;实现文件上传功能 原型图&#xff1a; HTML部分&#xff1a; <div class"invoice-item"><div class"invoice-title">增值税专用发票</div><div class"invoice-box"><el-form-item label"标准…

C#笔记11 获取线程及其信息,什么是优先级、单元状态、线程状态、执行状态、线程名称以及其他属性?

前文讲完了在C#中线程怎么创建&#xff0c;怎么删除&#xff0c;怎么启动&#xff0c;怎么阻止。 现在来看看线程本身的属性。 当前线程 首先要获得当前线程&#xff0c;才能获取线程信息&#xff0c;此属性用于获取当前运行的线程。此属性可用于获取代码当前执行所在的线程…

实战16-RVP定义完成适配

新增文件 //设计搞总宽度 const DRAFT_WIDTH 360//将元素的设计搞大小转化为真机中的大小 export default function rvp(val: number) {/*计算元素真正的大小&#xff1b;* 元素在设计稿的大小 / 设计搞总宽度 x / 真机宽度 (保证元素在不同设备占比相同)x 元素在设计稿的大…

探索Go语言中的随机数生成、矩阵运算与数独验证

1. Go中的随机数生成 在许多编程任务中&#xff0c;随机数的生成是不可或缺的。Go语言通过 math/rand 包提供了伪随机数生成方式。伪随机数由种子(seed)决定&#xff0c;如果种子相同&#xff0c;生成的数列也会相同。为了确保每次程序运行时产生不同的随机数&#xff0c;我们…

CSS3中的@media查询

CSS3的media查询是一种强大的功能&#xff0c;允许我们根据不同的媒体类型和设备特性来应用不同的样式规则。这使得我们能够创建响应式设计&#xff0c;确保网站或应用在各种设备和屏幕尺寸上都能提供良好的用户体验。本文将详细探讨media查询的定义、语法、使用场景及常见问题…

听劝!千万别让外贸信息差害惨你!

在竞争激烈的外贸行业中&#xff0c;一个老客户的华丽转型案例&#xff0c;深刻地向我们揭示了信息差的至关重要性。天津谊*进出口有限公司曾经在传统外贸模式下艰难前行的企业&#xff0c;通过敏锐地捕捉信息、巧妙地利用信息差&#xff0c;成功实现了令人瞩目的蜕变。本文将从…

linux--防火墙

linux防火墙 ubuntu 1&#xff0c; 关于ufw 查看防火墙&#xff1a; sudo ufw status 关闭防火墙&#xff1a; sudo ufw disable 开启&#xff1a; sudo ufw enable 2&#xff0c;firewalld 执行&#xff1a; systemctl status firewalld 出现&#xff1a; Unit fi…