美文网首页
Axure8.0之中继器实现表格

Axure8.0之中继器实现表格

作者: 沈正方 | 来源:发表于2018-07-18 22:03 被阅读27次

表格要实现的功能

  • 点击编辑按钮,进入编辑状态
  • 点击保存按钮,更新当前行数据
  • 点击删除按钮,删除当前行数据
  • 某一行右键,在鼠标指针所在位置显示菜单
  • 点击前面插入,在鼠标所在行前插入新行并进入编辑状态
  • 点击后面插入,在鼠标所在行后插入新行并进入编辑状态
实现步骤
  1. 添加一个中继器,并命名为List,双击中继器,在编辑区放入5个矩形(编辑区已有一个矩形)


  2. 全选前面的4个矩形,点鼠标右键,选择转换为动态面板,命名为“RowPanel”
  3. 双击动态面板将State1名称改为“Show”,点击这个状态后,点击复制复制状态
  4. 将新出现的状态命名为“Edit”,并且将状态中的所有矩形的命名去除,再添加三个文本框到前三个矩形上,分别命名。



    现在中继器的元件组成如下:


  5. 在属性中为中继器“List”添加一些数据


  6. 选中中继器,在每项加载时给表格设置数据。让列表能够显示中继器的数据。


  7. 在页面编辑区,添加4个矩形作为表头
  8. 点击编辑按钮,切换编辑状态
    编辑按钮添加【鼠标单击时】为“RowPanel”【设置面板状态】为“Edit”,并且通过【获取焦点】的动作,将光标进入姓名输入框“NameInput”。


  9. 实现点击保存按钮时,更新当前行数据


  10. 点击删除按钮,更新当前行数据


  11. 添加两个矩形,作为菜单选项,并转换为动态面板(也可以组合);命名为“MenuPanel”后隐藏。


  12. 实现中继器某一行中点击鼠标右键时,在鼠标指针所在位置显示菜单。
    为中继器中的动态面板“RowPanel”添加【鼠标右击时】的交互,设置动作为【移动】选项菜单“MenuPanle”【到达】鼠标指针所在的位置;并且,【显示】选项菜单“MenuPanle”。
    不过,这里为了能够在当前行的前后进行插入,我们需要通过全局变量“Temp”记录一下当前行的编号,也就是前面提到的数据集中的“IndexText”。


  13. 实现点击菜单中前面插入选项时,在行前插入新行并为编辑状态。
    提示:此处为前面插入的关键步骤。
    我们思考一下:在某一行的前面插入一个新行,从编号的角度来说,当前行的编号和新插入行的编号应该是什么样的呢?
    我想是这样:插入位置以及之后每一行的编号都要增加1,而新插入行的编号为插入位置的行编号。
    所以,在这里,我们需要处理行的编号,将所有大于等于插入位置行编号的行,现有编号都增加1。
    这个处理,通过按【条件】【更新行】动作来实现。
    提示:还记得我们将插入位置的行编号存入到了“Temp”变量中吗?
    然后,通过【添加行】添加一个编号为插入位置行编号的行。
    最后,别忘了【隐藏】选项菜单“MenuPanel”。


  14. 实现点击菜单中后面插入选项时,在行后插入新行并为编辑状态。
    提示:此处为后面插入的关键步骤。
    后面插入和前面插入的过程差不多。
    区别在于改变编号的逻辑。
    后面插入时,插入位置自身编号不变,所以是将行编号大于插入位置编号的行进行编号增加1的操作。
    然后,将变量中保存的编号也需要增加1,和新插入行的编号保持一致。
    并且,插入的行的编号也是插入位置行编号增加1之后的编号,即变量中的新编号。



    不过,到这里,大家会发现插入的行,还是在列表最下方出现。

  15. 添加排序
    我们还需要对列表按编号升序排列,这个排序效果应该是中继器加载时就能够生效的。


  16. 设置插入的行为编辑状态
    【添加行】动作会导致中继器列表刷新,所有行都变为正常显示状态。
    如果想在插入行之后,新行为编辑状态,我们需要在中继器【每项加载时】,如果行编号是变量中保存的行编号(即新插入行的行编号),将动态面板“RowPanel”的状态设置为“Edit”。



    这里要注意,因为是新增了一个用例,“Case2”会自动为“Else If”,需要在用例名称上点击鼠标右键,选择【转换为IF…】的选项进行转换。

  17. 清空变量
    当完成插入行的数据编辑,点击保存按钮时,中继器列表也会刷新,此时需要清空变量,以免因变量中存有编号,将对应的行转为编辑状态。


相关文章

网友评论

      本文标题:Axure8.0之中继器实现表格

      本文链接:https://www.haomeiwen.com/subject/tlmapftx.html