首页 >>  正文

count函数算出来是0

来源:baiyundou.net   日期:2024-09-22

多选树在有分层的领域是经常用到的,但有些同学还是不太熟练。本文作者以不同部门之间挑选员工位案例为例,分析如何在Axure中制作多选树穿梭选择器的原型模板,一起来看看吧。

多选树在有分层的领域是经常用到的,例如不同城市下的门店、不同部门的员工等等,用多选树就可以让我们在不同层级快速挑选到对应的对象。

今天作者就教大家在Axure中如何制作多选树穿梭选择器的原型模板,我们会以不同部门之间挑选员工位案例。

一、效果展示

1、展开和折叠,点击箭头可以展开会折叠该父级的子级内容(该部门的员工)

2、选中和取消选中,点击可以切换该内容选中或者取消选中

3、反选效果,点击父级(部门)可以选中或者取消选中该父级(部门)和对应子级(员工),点击子级(员工),会根据该父级(部门)下全部的子级(员工)选中情况反选父级(部门),分为未选、半选和全选三个状态

4、生成标签,根据选中的子级(员工)会在右侧已选项生成对应的标签,并统计已选中的子级(员工)数。

5、删除标签,点击标签按钮,可以删除该标签,并取消对应子级(员工)的选中,点击清空按钮,可以删除全部标签,并取消全部选中

原型地址:https://wjyb6d.axshare.com/#g=1

二、制作教程

1. 左侧多选树制作

我们主要用中继器来制作,中继器里面,我们用到的元件包括箭头,多选框(全选、半选、未选)、文本标签、矩形,如下图所示摆放

  • 箭头,默认方向向右即可,后续可以通过旋转交互转向
  • 多选框,包含全选、半选、未选三个状态,放在动态面板3个状态页里,默认显示未选状态
  • 矩形,用做背景矩形,默认透明,设置禁用样式为浅蓝色,这里主要是做一个移入变色效果,你们可以用悬停样式或者选中样式,如果是用禁用样式变色的话,鼠标移入组合时,我们用禁用的交互禁用该矩形,鼠标移出组合时我们用启用的交互将她启用

中继器表格我们增加一下几列:

Column1:填写该行文本标签显示的内容,中继器每项加载时,用设置文本的交互,将该列的值设置到文本标签里即可。

shangyiji:填写该行内容的上一级,如果是父级(例如总裁办)就不需要填写,如果是子级(例如张三)就需要填写。另外,我们增加移动的交互,如果是子级,就是上一级内容不为空,那我们件该组合向右移动10个单位,这样我们自己也容易区分父级和子级

jiantou:控制是否显示箭头,如果是父级填写1,如果是子级就不用填写。我们通过jiantou列的值来判断,如果值不等于1,就用隐藏的交互,将箭头显示,否则就默认显示

fangxiang:用于控制箭头的方向,如果值等于1,我们就用选中的交互,将箭头转向下。

xianshi:用于控制该行的内容是否显示出来,如果值等于1,就显示,否则就隐藏

xuanzhong:该列用于控制选中状态,如果值等于全选,就设置面板状态显示全选,如果等于半选就设置面板状态显示半选

这样我们基本就可以通过值来控制,这颗树了,默认需要展开还是折叠,默认是选中还是未选中,都可以通过填写中继器来控制。

接下来我们要通过交互实现反选,未选按钮鼠标单击时,我们根据情况来判断:

如果点击的是父级按钮,我们可以通过shangyiji的值判断,如果shangyiji的值为空,那他就是父级,那我们用更新行交互,首先将当前行xuanzhong列设置为选中,然后将该父级的子级的xuanzhong列的值设置为选中。

如果点击的是子级,首先我们要用更新行的交互,将当前行xuanzhong列设置为选中。然后我们要反选父级,那这里反选涉及到要统计该父级里面有多少个子级已被选中的问题。所以我们先用筛选的交互,将同一个父级的子级筛选出来

然后我们要增加一个文本标签,用于记录选中数,默认隐藏即可。在中继器加载第一行一开始,我们用设置文本的交互,将它的值设置为0。

如果xuanzhong列的值为全选,就是选中了,那我们用用设置文本的交互,将记录数+1,这样就可以记录,有多少行被选中了

如果记录选中数==中继器可视行数,那代表子级被全选了,这里我们用更新行的交互,将父级行选中列的值设置为全选即可;

如果记录选中数不等于中继器可视行数,那我们就要判断记录选中数,如果记录选中数大于等于1,相当于选了,但是没全选,我们用更新行的交互,将父级行选中列的值设置为半选即可;

如果记录选中数不等于中继器可视行数,并且记录的选中数等于0,就是子级一个都没有选,我们用更新行的交互,将父级行选中列的值设置为未选即可;虽然从未选到已选,不会用到这个条件,不过后面从已选到未选会用到,所以我们直接根据逻辑写完,后续我们自己也方便。

完成反选后,我们移除筛选就可以了

鼠标单击半选按钮时,其实就是只有父级才有半选按钮,我们设置他和对应的子级为全选即可。这里呢其实和上面未选的交互可以用一模一样的,所以为了快捷,我们就直接复制即可。

鼠标单击全选按钮时,这里和上面选择的逻辑也是一样的,就是操作是相反的

如果点击的是父级按钮,我们可以通过shangyiji的值判断,如果shangyiji的值为空,那他就是父级,那我们用更新行交互,首先将当前行xuanzhong列设置为未选,然后将该父级的子级的xuanzhong列的值设置为未选。

如果点击的是子级,首先我们要用更新行的交互,将当前行xuanzhong列设置为未选。然后我们要反选父级,那这里反选同样涉及到要统计该父级里面有多少个子级已被选中的问题。所以我们也是先用筛选的交互,将同一个父级的子级筛选出来

然后在根据选中数来判断到未选还是半选,因为上面我们做判断全选的时候已经写好了判断未选和半选的条件,所以我们这里直接触发就可以了。这里左边数的功能基本就完成了。

2. 右侧已选标签的制作

右侧标签我们也是用中继器来制作,里面包含圆角矩形和关闭按钮,如下如所示摆放

中继器表格为Column0和shagnyiji(姓名和部门),因为是未选的部分,所以默认为即可,如果需要默认选中人选,后续会在左侧树的中继器里选中,自动联动过来右侧中继器

中继器每项加载时,我们设置文本的交互,将Column0和shagnyiji(姓名和部门)设置到标签矩形里即可。

然后我们在外面增加一个已选的文本标签,在中继器加载到最后一行时,我们用设置文本的交互,将中继器的项目数设置到已选的文本标签里,中继器的项目数我们可以用dataCount函数获取

然后我们增加一个清空按钮,右侧标签基本上就完成了。

3. 联动交互

我们主要通过左侧树来控制右侧的标签

所以在左侧树的中继器刚开始加载时,我们要做一个重置的交互,将右侧中继器里所有行先删除

因为我们只传递子级员工的值,所以如果是子级,并且已选中,我们就用添加行的交互,将该行的员工和部门对应的值添加到右侧中继器里。

右侧标签关闭按钮点击时,我们用更新行的交互,更新左侧多选树中继器里对应行的选中状态为未选,这里我们随意输入即可,因为只要不是已选和半选,其他文字内容都是显示未选状态。

完成之后我们同样遇到反选的问题,同样的我们和之前一样,先将同一个父级的内容筛选出来,然后根据记录的选中数来判断父级是未选还是半选,这个在前面记录选中数那有详细的讲解,我们直接触发他即可。

最后是清空按钮鼠标单击时,这里我们只需要用更新行的交互,将左侧多选树中继器里所有行选中的值设置为未选即可,案例中写0,因为只要不是已选和半选,其他文字内容都是显示未选状态,所以随意输入了一个0,你们也可以填写未选的文字。

这样我们就完成了多选树穿梭选择器的制作了,下次使用也很方便,我们只需要在中继器表格里填写内容,即可自动生成交互效果。

那以上就是本期教程的全部内容,感兴趣的同学们可以动手试试哦,感谢您的阅读,我们下期见。

本文由 @AI产品人 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

","gnid":"9f0a4675ab31b79d3","img_data":[{"flag":2,"img":[{"desc":"","height":"420","title":"","url":"https://p0.ssl.img.360kuai.com/t01e4704692e25f0616.jpg","width":"900"},{"desc":"","height":"474","s_url":"https://p0.ssl.img.360kuai.com/t01c50381b0aa11a523_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t01c50381b0aa11a523.gif","width":"594"},{"desc":"","height":"226","title":"","url":"https://p0.ssl.img.360kuai.com/t01683d00c534ca46b7.jpg","width":"608"},{"desc":"","height":"213","title":"","url":"https://p0.ssl.img.360kuai.com/t015646053b6451c6bc.jpg","width":"233"},{"desc":"","height":"144","title":"","url":"https://p0.ssl.img.360kuai.com/t01889372179e864923.jpg","width":"544"},{"desc":"","height":"139","title":"","url":"https://p0.ssl.img.360kuai.com/t01e71eb59b168bce7a.jpg","width":"436"},{"desc":"","height":"409","title":"","url":"https://p0.ssl.img.360kuai.com/t0136da51f1e18e0019.jpg","width":"518"},{"desc":"","height":"159","title":"","url":"https://p0.ssl.img.360kuai.com/t01da6de50c1ed970fa.jpg","width":"309"},{"desc":"","height":"144","title":"","url":"https://p0.ssl.img.360kuai.com/t01eb1123e140b0470b.jpg","width":"459"},{"desc":"","height":"137","title":"","url":"https://p0.ssl.img.360kuai.com/t01e9d2709652b79e66.jpg","width":"203"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"hbase","pub_time":1688701260000,"pure":"","rawurl":"http://zm.news.so.com/0feedadb9d4db195c29741b3c744bcb2","redirect":0,"rptid":"f7e4917bfb75b14d","rss_ext":[],"s":"t","src":"人人都是产品经理","tag":[],"title":"Axure高保真原型:多选树穿梭选择器

孔竖素2447excel 求 列 行数 -
柳董阅13878399935 ______ 在某单元格输入"=ROWS(统计行数的区域)",即可得到被统计区域的行数. 在某单元格输入"=COLUMNS(统计列数的区域)",即可得到被统计区域的列数.

孔竖素2447请问要求在excel表格B15格中计算B1到B14有多少个学生,但是B1到B14格都是人名,
柳董阅13878399935 ______ 空单元格个数 =COUNTBLANK(A:A) 非空单元格个数 =COUNTA(A:A) 包含数字的单元格的个数 =COUNT(A:A)

孔竖素2447excel中count的用法
柳董阅13878399935 ______ 结果就是2,因为("C1",120,26)中,只有两个数字,“C1”是字符,并不指的单元格. COUNT函数的作用就是返回包含数字以及包含参数列表中的数字的单元格的个数. 利用函数 COUNT 可以计算单元格区域或数字数组中数字字段的输...

孔竖素2447我在用电子表格进行成绩统计时,使用了countif函数进行统计,输入函数后,计算结果为0,向高手求教.
柳董阅13878399935 ______ 最可能的是,你这些数据是文本,而非数字.如下修改: 在比如单元格D20输入1,右键点D20,复制;选中C2到H18,右键,选择性粘贴,选中中间那个”乘“,确定就可以了.

孔竖素2447C语言,数组用什么函数,计算数组长度 -
柳董阅13878399935 ______ #include int main() { char text[6]="abcde"; int count=0; while(text[count]!='\0') count++; printf("%d",count); getchar(); return 0; } 或者直接使用string.h中的strlen()

孔竖素2447ACCESS 查询count问题,当count为null,我要它显示0,而不是直接不显示 -
柳董阅13878399935 ______ 用IIF函数解决>> SQL代码中“,COUNT(c.mid) AS Expr1 ”改为这样写:IIF(ISNULL(COUNT(c.mid)),0,COUNT(c.mid)) AS Expr1

孔竖素2447excel 中count函数的问题
柳董阅13878399935 ______ COUNT函数是计算数值个数的. 如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组或引用中的空白单元格、逻辑值、文字或错误值都将被忽略.也就是说,把逻辑值TRUE、FALSE和文本型数字"1"等分别放在某几个单元格...

孔竖素2447excel中count的用法 -
柳董阅13878399935 ______ 原发布者:httpyh2010 Excel中的COUNTIF计数函数语法:COUNTIF(range,criteria).参数:range要计算其中非空单元格数目的区域.参数:criteria以数字、表达式或文本形式定义的条件.1.统计A1至A10区域里“高级”的有多少?我们可用=...

孔竖素2447用counta函数统计,得出的数据有问题,求解决!我用count
柳董阅13878399935 ______ 这是因为在统计区域内包含了含有未能看见的内容的单元格,也就是看不见内容的“非空单元格”,例如该单元格内输入了一个“空格键”,或设置了"0"值不显示的数字0,所以统计数字出错; 将附表内要统计范围内所有“空的”单元格逐一选中并清除内容,即让它们切实成为空的单元格,这时函数统计出来的数就正确了. 附表中新增的一行中,非空单元格统计数应该是6,但显示是7,就是因为其中一个单元格内输入了一个空格键.

孔竖素2447excel表格公式=COUNT(FIND({0,1,2,3,4,5,6,7,8,9},$A2))的意思,说的通俗具体一点 -
柳董阅13878399935 ______ FIND的意思是用第一参数在第二参数中查找,如果找到,返回找到的位置举个例子, FIDN(1,215) 就是用第一参数1在第二参数215中查找,找到了,在第二个,结果就返回2. 如果是FIND(6,215) 就不会找到,返回错误值 #VALUE! 你举的这个...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024