童话说说技术创业美文职业
快好知
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

Axure教程:让中继器像数据库一样,实现数据查询、修改、判

6月14日 萌嘟嘟投稿
  如何让中继器也可以像数据库一样,实现数据查询、修改、判断等功能呢?文章为你解读。
  在用Axure制作原型的过程中,大部分人都将中继器当做数据存储的工具,可以快速格式化展示一系列排版相同的数据,例如商品展示图文列表、各种文字表格等。但是你有没有想过,中继器也可以像数据库一样,实现数据查询、修改、判断等功能呢(例如在下表中直接查询ID为2的人的姓名,或者修改姓名为wang的人的学号)?
  中继器相关函数难点分析
  中继器函数
  目前中继器中提供可以查询内部数据的函数只有Repeater,当我们使用此函数时只能获得以数组形式排列的整个中继器内的数据。例如:
  对中继器使用函数Repeater。text时,得到以下数据
  由此我们得知:中继器内的数据是以数组形式储存的,当输出时,每个数组之间通过换行符’’连接。
  这时候有人会问,为什么不像数据库一样,直接按照Repeater〔0〕〔0〕类似的形式直接输出某个字段呢?很抱歉,通过测试发现,目前Axure中的函数是不能识别数组的,而Item。列名这个函数也只能直接对中继器的动作中(例如筛选、更新等)使用,并不能在其他函数赋值中直接使用。如下图:
  字符串处理
  现在我们已经知道,通过直接调用中继器某个具体字段的方式已经破灭了。
  回到开始,目前我们外部组件能获取中继器数据只有Repeater一个函数可以用了,但是它里面的数据是整个中继器的所有数据,而且还是每个数据换行展示的,离我们想要的某个字段差距太远了,怎么办呢?
  1。筛选中继器,获取指定行内容
  首先我们做的的是筛选,通过中继器的筛选功能,将中继器数据指定到我们想要的那一行数据中,例如当我们想获得ID是1的人的姓名时,我们直接对ID进行筛选。
  此时我们看到,其他没用行的数据已经消失了,貌似离我们想要的结果进了很多。
  2。格式化数据
  如果想要获得姓名这个字段,我们需要将得到的数据进行格式化,调整为一行字符串显示,并且每个字段之间通过,隔开。这时候需要用到split(‘separator’,limit)函数(返回字符串),第一个参数是分割字符,此时我们用换行符’’进行分割,第二个字符是分割最长的字符串个数,这里可以省略。
  是不是已经有点感觉了呢?Axure提供了那么多的字符串处理函数,如果想获得’li’这个字符串,是不是很简单呢?
  3。截取字符串
  字符串都是以0开始排列的,’li’的位置应该是从2到3。那么我们使用substring(from,to)函数(返回字符串),就可以得到这个姓名了。
  这时候有人会问,如果姓名字符长度不确定呢?没问题,我们已经知道了每个字符组是通过,隔开的,那么我们直接截取第一个’,’到第二个’,’之间的内容就可以了。
  怎么找到’,’的位置呢?使用indexOf(’searchValue’,start)(返回数字)函数就可以了,前面的字段是查找内容’,’,后面的字段是字符串开始查找的位置,例如通过
  LVAR。substring(LVAR。indexOf(‘,’),LVAR。indexOf(‘,’,(LVAR。indexOf(‘,’)1)))
  OH,NO!你已经乱了?突然来了一个这么长的,到底是什么东西?那好,我给你分析下:
  查找字符串LVAR中第一个’,’出现的位置,返回数字。为什么要1呢?因为它的输出作为前面LVAR。indexOf(2)的起始查找位置,就是说查找2字符串时候,是从它第一个’,’后面的一个字符开始查找的。
  从字符串LVAR第一个’,’的后一位开始查找’,’,说白了就是得到字符串LVAR第二个’,’的位置。
  截取字符串LVAR从第一个’,’出现的位置开始到第二个’,’出现的位置。
  这下明白了吗?还要记住一点,就是substring函数截取的时候,是保留前面的第一个字符,不保留最后面的字符。所以当读取到第一个’,’的时候,要从它后面开始截取,一直到第二个’,’出现为止。
  挑战升级
  不知道还有几个人能看到这里,因为大部分人可能还是抱着一个失望的态度,看了半天你就告诉我怎么截取字符串吗?老子800年前就会了,这跟数据库查的太远了吧,我怎么能随便查询任意参数呢?
  别急,上面都是基础,干货来了。
  需要函数:
  Repeater。text确保中继器返回的是字符串
  split(”)按照特定分隔符分割字符串
  substring(from,to)按照指定位置分割字符串
  indexOf()查找某个字符串在字符串出现位置
  concat()连接字符串
  length获取字符串长度
  场景设计
  学校有一个【人员管理系统】,系统里包含所有学生的姓名、学院、电话、年龄等各种信息。使用者可以通过姓名查询学生的任意其他特定信息,也可以修改任意信息。
  例如:查询王刚的班级,查询邓爽的电话号码等。
  构架分析
  由需求得知我们需要查询指定姓名人员的某项信息,即数据库中特定行中的某项。由上文得知,我们可以通过筛选中继器方式得到指定行数据,即指定姓名的所有信息。然后通过切割字符串的方式查找到指定项目的信息。
  在整个环节中,只有查找项目字段位置是个难点,因为项目是不确定的,在输出后的字符串中,只有按照,分割的数据内容,并不能知道每个数据代表着什么,所以如何查找指定项目的位置呢?
  这里我们引入了一个类似列名的辅助字段,即将所有的数据内容前面加上一个列名标识,例如:
  姓名中的数据变为王刚name王刚
  班级中的数据变为通信信息class通信信息
  手机中的数据变为23456phone23456
  年龄中的数据变为22age22
  这样我们获得某一行的字符串数据就变化成了:
  王刚,通信信息,23456,22name王刚,class通信信息,phone23456,age22
  看到了吗?我们得到了一个有标识的字符串,相信有些人已经想明白了,我们在字符串中通过数据前面的标识就可以判断每个数据是什么意思了。如果想得到班级,识别’class’,如果想得到年龄,识别’age’就可以了,无论数据有多少项,无论它位置在哪,只要我们指定想要数据的标识就可以了。
  系统搭建
  优化数据表
  将原有数据按照指定数据格式优化(关于在excel中为同一列中每项数据增加字符的方法有很多),优化后添加到中继器数据中。
  设置全局变量
  首先设置一个表示查询项目的变量Finder,通过查询的项目内容为Finder赋值。之后设置每个查询项目对应的特定前缀,name、class等。
  设置查询面板
  查询面板包括姓名文本框,查询项目列表框,查询按钮。
  当切换查询项目时,系统将查询项目赋值给项目变量Finder,项目变量默认值与查询项目列表默认值相同。
  当点击查询按钮时,将姓名赋值给全局变量Name,然后按照姓名文本框筛选中继器数据,之后按照项目变量Finder将具体项目数值显示到查询结果中。
  设置查询结果面板
  查询结果包括姓名及查询内容结果,对应文本框显示相应信息即可,在此不再赘述。
  函数分析
  以下是查询结果显示的函数:
  〔〔A2。text。split(‘’)。concat(‘,’)。substring((A2。text。split(‘’)。indexOf(Finder)Finder。length),A2。text。split(‘’)。concat(‘,’)。indexOf(‘,’,(A2。text。split(‘’)。indexOf(Finder))))〕〕
  如果上文看懂的人会发现这里有几个特殊的地方:
  A2。text。split(‘’)。concat(‘,’):在重新排列字符串最后加一个’,’,为了防止查找不到最后一个’,’而出现bug。
  A2。text。split(‘’)。indexOf(Finder)Finder。length:因为Finder字符串长度的不确定性,切割的起始位置是从Finder字符串后开始切割的。
  系统优化
  由于时间原因功能做的比较简单,但是通过这个方法我们可以查找或修改任意项目的内容,比如查找某个学生的全部信息,按照班级查找某个姓名的学生等。
  结语
  这篇文章主要提供了一种将中继器设计成数据库的方法,看似虽然繁琐,其实定义好所有内容后,可以为Axure实现更多的类似数据库的数据查询、修改、判断等功能,而不是单纯的数据展示。希望喜欢的人可以用到。
  以下为源文件下载链接:链接:http:pan。baidu。coms1i4JTQAT密码:lbrc
投诉 评论 转载

Axure教程手把手教你用Axure制作贪吃蛇小游戏通过使用Axure制作贪吃蛇游戏,使自己更加熟练Axure中的各种函数及对一款产品开发时的结构梳理及逻辑分析。本文的受众对象为喜欢Axure或想学Axure的小白及达人,认为无……Axure教程:让中继器像数据库一样,实现数据查询、修改、判如何让中继器也可以像数据库一样,实现数据查询、修改、判断等功能呢?文章为你解读。在用Axure制作原型的过程中,大部分人都将中继器当做数据存储的工具,可以快速格式化展示一……Axure教程:用另一种方式实现轮播图交互本文作者将教你用另一种方式实现轮播图交互,enjoy轮播图的实现方式有很多,绝大多数的童鞋也习惯了用堪称“万能”的动态面板去实现。但是,对于一些特殊的轮播图该如何实现更好……Axure教程如何实现石头剪刀布的小游戏偶然看到一篇关于随机数的文章,于是花了两小时的时间做了这个小游戏:石头剪刀布,回忆童年有木有?游戏的实现逻辑和操作一样简单。等不及了,先围观下效果吧:点击前往实现:……Axure高级教程:如何从外部获取Axure中继器里的数据Axure作为产品经理必备神器之一,相信每个人都会基础的操作和简单甚至高阶的原型。但是这篇文章分析的内容,相信你可能从没有这样想过。我们知道中继器在Axure中实现数据动……Axure教程水滴式进度条详细操作及解释开始入门Axure时候,都会有一种想法,怎么才能最简单明了的体会到这个软件的功能呢?从最基础的开始按钮,到后面的网站连接,渐渐地引导我入门。当我学习到进度条时候,网上也有许多版……Axure教程移动端APP原型动效库【底部导航】本文给大家分享:在Axure软件中,如何制作APP原型底部导航。做好后,可以直接在中继器列表中修改导航名称、图标及跳转链接,还可以在中继器列表中任意增减导航的个数,兼容2……Axure8。0快速入门新手教程:电子相册本文作者将教大家如何使用axure8。0制作电子相册原型,enjoy电子相册,多用于个人空间相册,它以循环轮播的方式对相片进行展示。它的展示方式主要是将当前的相片最大最清……详解APP端哔哩哔哩所有的导航类型,及高保真原型实现由于哔哩哔哩的用户性格从整体上说更偏向于活泼,所以B站在具体的细节上的设计也考虑到了用户的调性,并不是一沉不变的。单从导航这一种设计上看,就出现了多达8种设计方式。几乎覆盖了所……Axure案例解析:蚂蚁庄园星星球自动陪练文章分享了蚂蚁庄园星星球自动陪练的原型设计过程,希望对你有所受用。10月26号在起点学院公开课上演示了三个有趣的小案例,今天我们来看看其中的“星星球自动陪练”小游戏的详细……某社区APP完整原型案例(附源文件下载)本文作者将结合自己之前做过的一个项目原型分享给大家,希望对02岁的产品经理、交互设计师有所帮助。电话响起,屏幕上的名字是“催稿的老曹”,我没接;我妈问我电话为什么没接,我……Axure示例:移动端手机号注册与登录示例(附RP文件)之前和大家分享了Axure的系列交互,从这次开始逐步和大家交流Axure原型的设计规范及PRD文档规范。本次以移动端手机号注册和登录为例,和大家分享Axure的设计规范。……
阿里健康APP产品体验分析报告(下)阿里健康APP产品体验分析报告(中)Hello语音:向陌生人SayHello门窗幕墙行业的竞品分析万字解析Keep(2):和keep学赚钱“慈善家”如何薅羊毛万字解析Keep(1):如果keep的价值是课程,那健身就不拼多多的商业模式与产品玩法分析阿里健康APP产品体验分析报告(上)短视频市场调研报告Spotify用户体验分析:一亿七千万用户,一亿七千万种独特二次元动漫行业(虚拟形象)调研分析报告子弹是怎样炼成的?
在新加坡,阿里巴巴成为旧改开发商古代民歌《满歌行》原文及赏析装备好2020年要求返还房屋如何诉讼怎么煲鸡汤(鸡汤的正确做法)如果利用自媒体平台销售产品赚钱黑人身强体壮,人口众多,为何诞生不出强国?老人患有老年恐惧症怎么办根芹菜夏季的栽培要点“胆固醇”高怎么吃才健康?这份食物清单请牢记!热文聚热点网 他59岁被免职,66岁担任大军区政委,提拔的年轻人后来成为上超级破解阿扎尔金珉载转会前东家?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界