六、Accordion——手风琴方格(我叫它,可折叠面板列表)

2024-01-19 07:32

本文主要是介绍六、Accordion——手风琴方格(我叫它,可折叠面板列表),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

Accordion是一个可折叠的面板列表,每个面板都由headercontent两个部分组成,header部分是始终显示的,当点击header后则会展开或折叠起其对应的content部分,但每次对多只能打开一个content,这有点像DropDownList

 

举例说明:

1.       静态可折叠面板列表

1)       在页面的最上方添加ScriptManager,因为所有的Ajax control toolkit都需要它

2)       拖入一个Accordion控件,并在<Panes>节中拖入AccordionPane控件,如下:

        <asp:Accordion ID="Accordion1" runat="server"

HeaderCssClass="header"        //统一设置各个折叠面板header的样式

HeaderSelectedCssClass="headerSelected"         //统一设置各个折叠面板header被选中时的样式

ContentCssClass="content"        //统一设置各个折叠面板content的样式

                       SelectedIndex="0"           //默认打开的折叠面板的索引

                       AutoSize="None"        //设计控件中Panel的显示方式,主要有3种,即None(无限制的拉伸和收缩),Limit(限制内容的高度),Fill(内容高度与控件本身高度一样)

                       RequireOpenedPane="false"        //当被展开的面板header被点击时是否收缩contentfalse:收缩;true:不收缩

                       SuppressHeaderPostbacks="true"        //header为按钮或链接等时,是否被使用,true:不使用;false:使用

                       FadeTransitions="true"        //展开或收缩面板时,是否使用动画效果,当为true时,下面的两个设置才有意义

                       FramesPerSecond="39"        //展开或收缩面板时,每秒显示的帧数

                       TransitionDuration="250">        //展开或收缩面板时的整个过程的持续时间

            <Panes>     //各个面板的容器

                <asp:AccordionPane ID="AccordionPane1" runat="server">

                    <Header><a href="http://www.hao123.com">111111111111111111111111111111111</a></Header>

                    <Content>dddddddddd<br /><br /><br /><br /><br /><br /><br /><br />1111111111111111111</Content>

                </asp:AccordionPane>

                <asp:AccordionPane ID="AccordionPane2" runat="server">

                    <Header><a href="http://www.hao123.com">111111111111111111111111111111111</a></Header>

                    <Content>dddddddddd<br /><br /><br /><br /><br /><br /><br /><br />1111111111111111111</Content>

                </asp:AccordionPane>

                <asp:AccordionPane ID="AccordionPane3" runat="server">

                    <Header><a href="http://www.hao123.com">111111111111111111111111111111111</a></Header>

                    <Content>dddddddddd<br /><br /><br /><br /><br /><br /><br /><br />1111111111111111111</Content>

                </asp:AccordionPane>

            </Panes>

        </asp:Accordion>

3)       请自己简单的设置headerheaderSelectedcontent样式对于的值,然后查看效果

 

2.       动态可折叠面板列表

1)       再往页面中拖入一个Accordion控件,如下:

        <asp:Accordion ID="Accordion2" runat="server" HeaderCssClass="header" HeaderSelectedCssClass="headerSelected" ContentCssClass="content"

                       SelectedIndex="0"

                       AutoSize="None"

                       FadeTransitions="true"

                       FramesPerSecond="39"

                       TransitionDuration="250"

                       RequireOpenedPane="false"

                       SuppressHeaderPostbacks="true">

        </asp:Accordion>

2)       打开cs页面,并编写代码如下:

        if (!IsPostBack)

        {

            Hashtable ht = new Hashtable();

            ht.Add("dynamicGenerator_0", "dynamicGenerator<br/><br/><br/><br/><br/><br/><br/><br/>dynamicGenerator");

            ht.Add("dynamicGenerator_1", "dynamicGenerator<br/><br/><br/><br/><br/><br/><br/><br/>dynamicGenerator");

            ht.Add("dynamicGenerator_2", "dynamicGenerator<br/><br/><br/><br/><br/><br/><br/><br/>dynamicGenerator");

            ht.Add("dynamicGenerator_3", "dynamicGenerator<br/><br/><br/><br/><br/><br/><br/><br/>dynamicGenerator");

            ht.Add("dynamicGenerator_4", "dynamicGenerator<br/><br/><br/><br/><br/><br/><br/><br/>dynamicGenerator");

            ht.Add("dynamicGenerator_5", "dynamicGenerator<br/><br/><br/><br/><br/><br/><br/><br/>dynamicGenerator");

 

            foreach (DictionaryEntry de in ht)

            {

                string header = de.Key.ToString();

                string content = de.Value.ToString();

 

                AjaxControlToolkit.AccordionPane ap = new AjaxControlToolkit.AccordionPane();

                ap.ID = "dynamicGenerator_" + Guid.NewGuid().ToString();

                Label lab_header = new Label();

                lab_header.Text = header;

                ap.HeaderContainer.Controls.Add(lab_header);

 

                Label lab_content = new Label();

                lab_content.Text = content;

                ap.ContentContainer.Controls.Add(lab_content);

                Accordion2.Panes.Add(ap);

            }

    }

3)       然后打开页面查看,数据源当然也可以从数据库中读取,截图如下:

这篇关于六、Accordion——手风琴方格(我叫它,可折叠面板列表)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/621669

相关文章

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

python展开嵌套列表的多种方法

《python展开嵌套列表的多种方法》本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、嵌套列表格式二、嵌套列表展开方法(一)for循环(1)for循环+append()(2)for循环+pyPhWiFd

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

python中列表list切分的实现

《python中列表list切分的实现》列表是Python中最常用的数据结构之一,经常需要对列表进行切分操作,本文主要介绍了python中列表list切分的实现,文中通过示例代码介绍的非常详细,对大家... 目录一、列表切片的基本用法1.1 基本切片操作1.2 切片的负索引1.3 切片的省略二、列表切分的高

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表