用DW做列表选择二级联动分类操作记录
- 格式:doc
- 大小:107.50 KB
- 文档页数:4
数据录入的时候,经常需要用到两级下拉菜单,并且需要联动,输入完第一级内容之后,第二级的内容是对应的
效果如下所示:
制作过程也非常简单,只需要几步就可以完成
1、准备数据源
第一行中的数据,输入一级下拉菜单中的内容
从第二行开始,依次向下输入一级菜单对应的二级菜单的内容
2、使用名称管理器创建字段
我们选中所有的数据区域
按CTRL+G,调出定位条件
然后在定位条件里面,选择常量
然后,我们选择公式选项卡
点击根据所选内容创建,只勾选首行,然后点击确定
通过这一步操作,其实我们就是将第一行的数据做为字段,将下面的数据作为引用的区域,创建了名称组
3、制作下拉菜单
我们选中第一列A列,然后点击数据,点击数据验证
选择序列
数据来源,我们选择,之前的第一行的数据,也就是表1的A1:E1的数据
这样就制作好了一级下拉菜单
然后选中B列,同样的使用数据验证,但是数据来源,我们输入的是公式:=INDIRECT(A1)
也就是间接引用A列对应的值
所以当我们A2输入的内容是浙江的时候,B2引用的就是浙江这个数据组,因为我们第2步创建了名称管理器,指定了浙江数据组是下面的数据,所以二级下拉菜单就会对应显示
4、开放数据源
如果我们有需求,但左边的数据新增的时候,二级联动下拉菜单能自动的更新数据,不需要重新再次设置
那就需要做个简单的设置
依次选中每列的数据源区域,然后依次按CTRL+T,将它转成智能表格
然后当我们在下方新增数据的时候,下拉菜单就可以自动的扩充数据了。
excel多级联动模板如何在Excel中实现多级联动功能。
第一步:准备数据在Excel中实现多级联动功能,首先需要准备一些数据。
假设我们要创建一个多级联动的模板,用于管理商品的分类。
我们需要有一个分类表,包含多个层级的分类信息。
将分类表的数据逐级添加到Excel的一个工作表中。
比如,第一列是一级分类,第二列是二级分类,以此类推。
确保每一级分类都有一个唯一的编号作为标识。
第二步:设置下拉菜单在Excel中实现多级联动功能的关键是使用下拉菜单。
我们需要在Excel中设置多个下拉菜单,以实现层层联动的效果。
请按照以下步骤设置下拉菜单。
1. 找到Excel工作表中要设置下拉菜单的单元格。
假设我们将第一级分类的下拉菜单设置在A2单元格上。
2. 点击Excel的“数据”选项卡,然后在“数据工具”组中选择“数据验证”3. 在“数据验证”对话框中,选择“列表”作为验证条件,然后点击“来源”框,并选择分类表中的第一列数据作为列表的来源。
请记住要用绝对引用,例如:A2:A10。
然后点击“确定”。
第三步:设置级联功能设置好第一级分类的下拉菜单后,我们需要设置级联功能,即当选择一个分类后,相应的二级分类也会随之改变。
1. 找到第二列分类的单元格,假设我们将第二级分类的下拉菜单设置在B2单元格上。
2. 再次点击“数据”选项卡的“数据工具”组,在“数据验证”对话框中选择“列表”作为验证条件。
3. 在“来源”框中输入一个公式,用于根据第一级分类的选择来动态改变下拉菜单的内容。
公式应该类似于“=INDIRECT(VLOOKUP(A2,分类表,2,FALSE))”,其中A2是第一级分类的单元格,分类表是我们准备的分类表的命名范围,2表示要查询的列索引,FALSE表示精确查找。
然后点击“确定”。
通过以上步骤,我们可以实现两级分类的联动。
如果我们有更多级别的分类,只需按照类似的步骤设置下拉菜单和级联功能即可。
第四步:测试多级联动功能设置好下拉菜单和级联功能后,我们需要测试是否实现了多级联动效果。
Excel制作⼆级联动数据有效性⽅法图解我们在⽹上填写地址的时候,⼀般都会遇到这种情况,选择了省份之后,后⾯的市区选项下拉菜单中就会⾃动根据选择的省份,⽣成这个省份的所有市区,供我们选择。
那么Excel中能不能实现这种效果呢?⽆所不能的Excel当然能实现这种效果,这叫做多级联动数据有效性,这⾥介绍下⼆级联动数据有效性的做法,举⼀反三,多级联动就可以照着做出来。
软件名称:软件⼤⼩:58MB更新时间:2016-06-27⽴即下载⽅法/步骤1、⾸先,我们在sheet2表格中,建⽴⼀个省份对应市区的数据库,如下图所⽰。
后⾯的数据有效性会引⽤这⾥的数据。
2、下⾯来新建名称,选择"公式"→"名称管理器"→"新建",在新弹框中的名称中输⼊”省份“,引⽤位置,选择A1:B1区域。
3、接下来,还是新建名称,这⾥是新建⼀个名称为"⼭东省",引⽤位置,选择A2:A5区域。
4、同样的做法,新建名称”⼴东省“,选择B2:B5区域。
5、好了,前期定义名称的准备⼯作就做好了。
下⾯就开始设置数据有效性了,选择需要设置的区域,然后选择,数据→数据有效性。
6、在新弹框中,允许下的下拉菜单中选择”序列“,在来源中输⼊"=省份",这⾥的省份就是我们上⾯步骤中新建的名称,在公式中可以直接引⽤名称。
⾄此,⼀级有效性就建好了,接下来设置⼆级有效性。
7、选择需要设置的区域,然后还是选择“数据有效性”。
8、同样选择"序列",不过在来源中,需要输⼊公式=indirect($A2).9、确定之后,⼆级联动的数据有效性就建好了。
可以看到,当A列选择⼭东省时,B列下拉菜单中会出现⼭东省的市区。
10、当A列选择⼴东省市,B列下拉菜单中会出现⼴东省的市区。
上⾯只是介绍了⼆级联动数据有效性,同样的操作,可以建⽴三级、四级……多级数据有效性。
DropDownList绑定数据表实现两级联动⽰例场景⼀:平时我们在DropDownList控件下添加下拉选项时,都会使⽤它的Item.Add⽅法,直接在代码下添加。
如果我们想添加或修改下拉选项,则必须去修改源代码。
如果⼏个DropDownList控件的下拉选项相同,我们则需要重复添加好多次,后期的维护⼯作很不⽅便。
场景⼆:我们在12306⽹站买票时,肯定遇到过这么⼀种情景:我们需要先选定⽬的地的省份,选完省份后在城市选框中会⾃动加载该省份的城市,实现两级联动。
针对以上两个场景,我们可以⽤DropDownList直接绑定数据表,根据选择的省份动态加载该省份下的城市。
光说不练,不是好汉,让我⽤⼀个⼩Demo来⼤家演⽰下详细过程吧。
⾸先我们需要在数据库中建⽴两个表,⼀个是Province(省份)表,⼀个是City(城市)表。
建表语句如下:复制代码代码如下:Create Table Province(ProID int primary key,ProName varchar(20) not null)Create Table City(CityID int primary key,ProID int foreign key references Province(ProID),CityName varchar(20))Insert into Province values('1','北京')Insert into Province values('2','河北')Insert into Province values('3','⼭东')insert into City values('1','1','海淀')insert into City values('2','1','丰台')insert into City values('3','1','⼤兴')insert into City values('4','2','衡⽔')insert into City values('5','2','廊坊')insert into City values('6','2','保定')insert into City values('7','3','济南')insert into City values('8','3','烟台')insert into City values('9','3','青岛')通过建表语句我们可以知道,北京下有三个城市--海淀、丰台、⼤兴,河北下有三个城市--衡⽔、廊坊、保定,⼭东有三个城市--济南、烟台、青岛。
excel怎么制作二级联动下拉菜单
日常工作中,我们常需要一个下拉菜单,让后面的下拉菜单依据前面的下拉菜单的内容的改变而改变,也就是二级联动菜单了,在excel当中该如何制作出来呢?下面就跟店铺一起看看吧。
excel制作二级联动下拉菜单的步骤
1、打开excel软件,制作一个简单的个人信息表格。
2、选中单元格C2,打开“数据”菜单中的“有效性”
3、进入数据有效性设置窗口,在“有效性条件”中允许下拉列表中选择“序列”。
4、选中右边的“忽略空值”与“提供下拉箭头”。
5、在“来源”下的文本框内输入供下拉选择的数据项,各个项之间以英文状态下“,”分开。
6、确定,即可在C2单元格中出现下拉箭头按钮。
拖动鼠标复制完成C列下的其他单元格,这样简单的一级下拉菜单就制作完成了。
二级联动下拉菜单
1、在原来的数据基础上,我们增加一列市区,来实现省市之间的联动菜单。
2、选中单元格C2,首先我们定义一个名称,打开“插入”菜单下“名称"-"定义"
3、新建一个“省份”,引用位置中选择我们在一旁创建的省市列表数据I1:J1
4、选择I1:J5省市的所有单元格,打开“插入”-》“名称”-》“指定”
5、选择“首行”,因为我们的省份是在第一行。
6、打开“数据”菜单“有效性”,跟一级下拉菜单一样设置,在来源中输入“=省份”
7、确定,即可以省份中看到下拉菜单。
8、选择单元格D2,同样打开数据有效性窗口。
9、在来源中输入:=INDIRECT($C2),根据省份来判断对应的市
区。
10、确定,选择省份后就可以下拉选择所对应的市区了。
更高级的Excel二级联动下拉菜单实现方法只用2列数据如下图所示,这样不改变源数据的情况下,如何制作出二级联动下拉菜单?在Excel中制作二级联动下拉菜单,首先需要整理出唯一值数据,即删除重复值,然后再通过“数据验证”功能制作下拉菜单,具体操作如下。
本文针对零基础的同学讲解详细步骤,有基础的可以翻到后面直接看方法。
1、选中A3:A10单元格中的数据,复制并粘贴至D2:D10单元格中,如下图所示。
2、执行操作后,单击菜单栏中的“数据”菜单,在其功能区中,单击“删除重复值”按钮,如下图所示。
3、执行操作后,弹出“删除重复值”对话框,单击“确定”按钮,如下图所示。
4、弹出信息提示框,提示用户已删除发现的重复值,并保留唯一值,如下图所示。
5、单击“确定”按钮,即可删除数据列中的重复项,如下图所示。
6、执行上述操作后,选中F列,单击功能区中“数据验证”图标按钮,如下图所示。
7、弹出“数据验证”对话框,单击“允许”下方的下拉按钮,选择“序列”选项,如下图所示。
8、然后在下方的“来源”文本框中单击鼠标左键,在工作表中选择D列中的数据作为下拉菜单列表范围,在文本框中会显示范围公式,如下图所示。
9、单击“确定”按钮,单击F2单元格右侧的下拉按钮,在其中可以选择需要筛选的部门,如下图所示。
10、然后选中G列,用与上同样的方法,打开“数据验证”对话框,在“来源”文本框中输入公式:=OFFSET($B$2,MATCH($F$2,A:A,)-2,,COUNTIF(A:A,$F$2)),如下图所示。
11、单击“确定”按钮,单击G3单元格右侧的下拉按钮,在弹出的下拉列表中,会显示F3单元格数据相匹配的员工姓名,在列表框中,可以选择相应的姓名,效果如下图所示。
好了,今天有关在Excel中制作二级联动下拉菜单的方法便介绍到这,大家赶紧实际操作练习一下吧,有不懂的问题可以留言问小编呦!感谢支持Excel880工作室,还请多多转发,持续关注我们呀!郑广学Excel实战教程。
Excel表格是一款常用的办公软件,它的功能强大,可以用来进行数据处理、数据分析、图表制作等。
在Excel中,使用下拉框可以使数据输入更加规范和便捷,而下拉框的联动功能则可以实现不同选项之间的关联,使数据选择更加精准和便利。
本文将结合实际操作,介绍如何在Excel表格中使用二级下拉框联动公式。
1. 准备数据在使用二级下拉框联动公式前,首先需要准备好数据。
假设我们有一个产品销售数据表,其中包括产品类别、产品名称和销售数量等信息。
我们需要在Excel表格中设置两个下拉框,第一个下拉框用于选择产品类别,第二个下拉框则根据所选的产品类别,显示对应的产品名称。
我们需要准备好产品类别和产品名称的数据列表。
2. 创建下拉框在Excel表格中,创建下拉框可以通过数据验证功能实现。
首先在表格中选择需要设置下拉框的单元格,然后依次点击“数据”→“数据验证”→“设置”中的“允许”选择“列表”,在“来源”中输入产品类别的数据列表,点击“确定”即可创建产品类别的下拉框。
同样的方法,可以创建产品名称的下拉框,并在“来源”中使用间接函数来实现二级下拉框的联动效果。
3. 使用间接函数在Excel中,可以使用间接函数实现二级下拉框的联动效果。
间接函数的语法为=INDIRECT(引用的单元格),它可以将单元格中的内容作为一个单元格引用,并返回该单元格的值。
在创建产品名称的下拉框时,我们可以在“来源”中使用间接函数,引用产品类别下拉框所在的单元格,如=INDIRECT(A2),其中A2为产品类别下拉框所在的单元格。
这样,当选择了不同的产品类别时,产品名称下拉框中显示的选项就会随之改变,实现了二级下拉框的联动效果。
4. 编写联动公式除了使用间接函数,我们还可以通过编写联动公式来实现二级下拉框的联动效果。
在产品名称的下拉框所在单元格中,我们可以编写一个IF函数来根据产品类别的选择,从不同的数据列表中获取产品名称,从而实现二级下拉框的联动效果。
dw二级菜单效果制作在自己的网页中加一些元素在Dreamweaer中实现自动隐藏窗口功能效果,具体怎么做呢?大家就和我一起来制作吧!第1步:制作菜单外貌在Dreamweaer中新建一个文件,绘制一个层,在该层中插入一个表格(如图1),对该表格进行修饰,然后加入菜单项并建立各项的超链接,为了去掉超链接的下划线,可以编辑超链接的CSS样式,在CSS样式面板中通过CSS选择器将“Link”和“Hover”的“Decoration(装饰)”均设置为“None(无)”,将“Hover”的“Color(颜色)”设置为红色,最后将设置好的样式应用到各个菜单条中(可按“F12”键预览效果)。
第2步:设计菜单的动态效果1、选定层面,当鼠标变成“十”字形时按住左键将层面拖动到页面右上角(使整个菜单条完全露出但上边缘正好靠拢页面上边界),在窗口菜单中打开时间线面板,选定层面将其拖动到时间线上,Dreamweaer会自动产生一个长度为15帧的动画对象,拖动该动画对象的最后一个关键帧到第30帧,将其长度设置为30帧。
然后在第15帧处单击右键,在弹出的快捷菜单中选择“添加关键帧”选项插入一个关键帧,并将层面拖动到适当位置(如图2)。
在时间线窗口中的第15帧处再次单击右键,在弹出的快捷菜单中选择“添加动作”,为该帧添加一个交互行为,Dreamweaer将自动打开行为面板。
单击行为面板中的“+”按钮,从弹出的菜单中选择“Timeline/StopTimeline”,打开“StopTimeline”对话框,选择“Timeline1”后单击“确定”按钮关闭该对话框。
交互行为的事件为“onFrame15”,动作为“StopTimeline”,这样当时间线运行到第15帧时,动画将停止播放,这样就实现了菜单条弹回的功能。
2、用同样的方法在时间线的第30帧处也添加一个“StopTimeline”的交互行为,这样就实现了菜单弹出的功能。
添加了这两个交互行为后,在时间线窗口的相应帧上面都出现了一个蓝色方块,它代表一个交互行为。
在Excel中制作二级联动下拉菜单,太有用了对于一级下拉菜单的设置,相信经常使用Excel的用户都不陌生,那么,二级联动下拉菜单又是什么呢?与一级下拉菜单有什么关系呢?二级联动下拉菜单是根据一级下拉菜单内容的变化而变化的。
大家都知道,不同的部门包含的岗位不同,如果要将所有的岗位都列出来,那么选项就会增多,选择效率就会大大降低。
而此时,可为部门设置一级下拉菜单,为岗位设置二级下拉菜单,这样,选择部门后,会自动在二级下拉菜单列表中显示该部门对应的岗位。
选项减少了,效率是不是也就提高了呢?例如,在员工生日表中添加【部门】和【岗位】两列数据,为【部门】列设置一级下拉菜单,为【岗位】列设置二级下拉菜单,具体操作步骤如下。
步骤01:打开素材文件,新建【序列】工作表,在该工作表中输入各部门及各部门包括的岗位,选择部门所在的A1:A6单元格区域,打开【新建名称】对话框,将名称设置为【部门名称】,其他保持默认设置,单击【确定】按钮,如下图所示。
步骤02:选择 A1:G6 单元格区域,打开【定位条件】对话框,选中【常量】单选按钮,单击【确定】按钮,,如下图所示。
步骤03:即可选择A1:G6单元格中含内容的单元格区域,单击【定义的名称】组中的【根据所选内容创建名称】按钮,打开【根据所选内容创建名称】对话框,A选择根据什么内容创建名称,这里选中【最左列】复选框,单击【确定】按钮,如下图所示。
步骤04:经过上步操作,即可按照部门定义名称,在【定义的名称】组中单击【名称管理器】按钮,打开【名称管理器】对话框,在其中可查看到定义的名称,如下图所示。
步骤05:关闭对话框,切换到【Sheet1】工作表中,选择C3:C11单元格区域,单击【数据验证】按钮,打开【数据验证】对话框,将允许条件设置为【序列】,来源设置为【=部门名称】,单击【确定】按钮,如下图所示。
步骤06:选择D3:D11单元格区域,打开【数据验证】对话框,将允许条件设置为【序列】,来源设置为【=INDIRECT(C3)】,单击【确定】按钮,如下图所示。
Html.DropDownListFor()⼆级联动($.getJSON)Control:1public ActionResult GetPositionName(int parentid) //发布新职位页⾯中的根据职位类别,获取职位名称2 {3 List<Category> categorylist2 = categorymanage.GetCategotyByParentId(parentid);4return Json(categorylist2.ToList(), JsonRequestBehavior.AllowGet);5 }view:1 <%=Html.DropDownListFor(Model=>Model.CATEGORY,(SelectList)ViewBag.Category1 ,"--------请选择--------" ,new { @Style="font-size:18px"}) %>23 <%=Html.DropDownListFor(Model => Model.POSITION_NAME, (SelectList)ViewBag.Category2 ,"--------请选择--------" , new { @Style="font-size:18px"})%>jQuery:1 <script type="text/javascript">2 $(document).ready(function () { //根据选择的职位类别,动态获取下属职位名称3 $("#CATEGORY").change(function () {4var url = "/Position/GetPositionName/?parentid=" + $("#CATEGORY").val(); //规则是控制器/⽅法/参数5//alert(url);6 $.getJSON(url, function (data) {7 $('#POSITION_NAME').html('');8//alert('hello');9 $("#POSITION_NAME").append("<option value=''>--------请选择--------</option>")10 $.each(data, function (i, item) {11 $('#POSITION_NAME').append("<option value='"++"'>"++"</option>");12 });13 });141516 });17 });18 </script>实现效果:。
用DW做列表选择二级分类操作记录
准备做这样功能:
如下图所示是分类表ylst_classify(字段reid=0表示总分类,!=0表示子分类)::
第一步:在DW中插入表单form1中两个菜单/列表控件;
第二步绑定记录集(数据源)一个是afl(reid=0)作为总分类,一个是cfl(reid!=0)作为子分类:
产生如下代码:
<?php require_once('../Connections/conent.php');?>
mysql_select_db($database_conent, $conent);
$query_afl = "SELECT * FROM ylst_classify WHERE reid = 0";
$afl = mysql_query($query_afl, $conent) or die(mysql_error());
$row_afl = mysql_fetch_assoc($afl);
$totalRows_afl = mysql_num_rows($afl);
mysql_select_db($database_conent, $conent);
$query_cfl = "SELECT * FROM ylst_classify WHERE reid != 0";
$cfl = mysql_query($query_cfl, $conent) or die(mysql_error());
$row_cfl = mysql_fetch_assoc($cfl);
$totalRows_cfl = mysql_num_rows($cfl);
>
第三步:单击用于显示总分类的列表/菜单控件,在主窗体下选择属性控制面板,选择列表;<select name="select2" size="1" id="select2">
</select>
然后修改:
<select name="safl" size="1" id="safl" >
<option value="" >选择商品总分类</option> 这里是加说明选择项,标签是“选择商品总分类”,选中值是空“”。
然后在属性面板中单击“动态”按钮:
如下图所示:
产生如下代码:
<select name="safl" size="1" id="safl" >
<option value="" >选择商品总分类</option>
<?php
do {
>
<option value="<?php echo $row_afl['id']?>"><?php echo $row_afl['categories']?></option>
<?php
} while ($row_afl = mysql_fetch_assoc($afl));
$rows = mysql_num_rows($afl);
if($rows > 0) {
mysql_data_seek($afl, 0);
$row_afl = mysql_fetch_assoc($afl);
}
>
</select>
这样便完成总分类列表选择功能的设计,但是要二级联动,还必须加上列表选择事件功能,在上面代码的第一行中<select name="safl" size="1" id="safl" >加上onchange(内容改变后)事件,变成:
<select name="safl" size="1" id="safl"onchange="getCity(this.value)">
上面的onchange="getCity(this.value)",是指改变选项值后调用JavaScript函数,其中this.walue是指当前选择的值,也可以写成getCity(document.form1.safl.options[document.form1.safl.selectedIndex].value):一般值有两种(一种是空,一种是id,value=""或者value="<?php echo $row_afl['id']?>",就是说将这两种值在onchange事件发生后后通过表单(document)传送给JavaScript函数function getCity(locationid),由该函数得出子分类的option选项值和标签;
第四步:在子分类列表/菜单控件中不用设计,只要记住name值用于设计javascript函数设计就可以了,最多加一个子分类说明选项代码:
<select name="scfl" size="1" id="scfl"><option value=''>选择子分类</option>
</select>
第五步:在页头中加入javascript代码:
<script language = "JavaScript">
var onecount; 定义计数用变量
onecount = 0; 初始化变量
subcat = new Array();定义新数组
<?php
$count=0;定义Php用于循环计数变量,初始化。
while($row_cfl = mysql_fetch_assoc($cfl)) 当记录集cfl有关联行时继续下面生成数组,这里可以从生成的记录集cfl代码中复制过来。
{
>
subcat[<?php echo $count;?>] = new Array("<?php echo $row_cfl['categories'];?>","<?php echo $row_cfl['reid'];?>","<?php echo $row_cfl['id']; ?>");
上面的字段值比如<?php echo $row_cfl['reid'];?>等等可以通过打开cfl记录集将reid 字段拖到页面后生成代码再剪切过来。
上面代码运行后生成数组如下图:
<?php
$count++;这里是指每生成一行便加1
}
>
onecount=<? php echo $count ?>; 同时记录下生成总条数。
function getCity(locationid) 做好上面准备工作后定义函数(名称自己取),用于处理总分类列表/菜单中的onchange事件。
{
document.form1.scfl.length = 0; 定义子分类name=”scfl”第一条选项为自定义,空值。
var locationid=locationid;
var i;
document.form1.scfl.options[0] = new Option('==所选分类的子分类==','');
上面的options是一组选项的意思,[0]表示从0开始算,接下来下面列出发生onchange 事件后的选项值;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.form1.scfl.options[document.form1.scfl.length] = new Option(subcat[i][0], subcat[i][2]);
上面代码运行时,例如afl选择“保养用油品”后产生的结果如下图所示:
从上面可以看出new Option(v1,v2)中v1是标签,v2是选项值。
}
}
}
</script>
运行OK!
终于用可视化的DWCS6实现了分类二级联动功能,由此编程其实还是需要好的工具和钻研精神,不过我还是觉得编程是禽兽做的事情。