zoukankan      html  css  js  c++  java
  • Ajax Control Toolkit使用实例 (2) Accordion

    Accordion控件简介

    Accordion控件可以让你同时展示多个可折叠的数据面板,但同一时刻只能有一个被展开。Accordion控件包含了多个AccordionPane控件来实现其功能,每个AccordionPane都有独立的Header和Content数据域。我们跟踪被选中面板的状态并通过回发来控制其是否展开显示。

    如何将Ajax Control Tookit添加到设计模式下的工具箱以及如何获取此控件相关的帮助信息,请参见上一篇文章Ajax Control Toolkit使用实例(1) AutoCompleteExtender,这里不再赘述。

    Accordion控件的使用

    有了前一篇文章作铺垫,后续的操作就变得很简单了。

    1.在Web.Config中注册控件集;

    在<system.web>结点下添加<pages>配置节:

    <pages>
      <controls>
        <add tagPrefix="asp" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
      </controls>
    </pages>

    当然你也可以在单个页面使用@Register指令进行控件注册,如果使用此方式,那么你需要在每个调用Ajax控件的页面都进行控件注册。

    2.添加ToolkitScriptManager控件;

    3.添加SqlDataSource控件并作相应的配置使其充当数据源,以便进行数据绑定;

    4.添加Accordion控件,进行数据绑定,并对绑定模板进行样式设置等。

    为了能让绑定项看起来美观一些,我们可以对面板的头和内容模板的样式进行控制,下面是我在示例中使用的样式:

    <style type="text/css">
        .accordionHeader
        {
            background-color: #537368;
            border: 1px solid #537368;
            color: white;
            cursor: pointer;
            font-family: Arial,Sans-Serif;
            font-size: 12px;
            font-weight: bold;
            margin-top: 5px;
            padding: 5px;
        }
        
        .accordionHeaderSelected
        {
            background-color: #65867B;
            border: 1px solid #2F4F4F;
            color: white;
            cursor: pointer;
            font-family: Arial,Sans-Serif;
            font-size: 12px;
            font-weight: bold;
            margin-top: 5px;
            padding: 5px;
        }
        
        .accordionContent
        {
            -moz-border-bottom-colors: none;
            -moz-border-image: none;
            -moz-border-left-colors: none;
            -moz-border-right-colors: none;
            -moz-border-top-colors: none;
            background-color: #D3DEEF;
            border-color: -moz-use-text-color #2F4F4F #2F4F4F;
            border-right: 1px dashed #2F4F4F;
            border-style: none dashed dashed;
            border- medium 1px 1px;
            padding: 10px 5px 5px;
        }
    </style>

    这里为了方便演示,使用SqlDataSource进行了前端数据绑定,大家可以通过后台数据绑定(可枚举的数据列表均可作为数据源)来控制数据的展示,以便加入分页等操作。下面是此示例的前台页面源,相当简单:


    <asp:ToolkitScriptManager runat="server" ID="asm" />
    <asp:SqlDataSource runat="server" ID="asds1" ConnectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=true;" ProviderName="System.Data.SqlClient" SelectCommand="Select top 10 * from Customers"></asp:SqlDataSource>
    <asp:Accordion runat="server" ID="acc1" HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected"
    ContentCssClass="accordionContent" DataSourceID="asds1">
        <HeaderTemplate>
            <%#DataBinder.Eval(Container.DataItem, "[CompanyName]")%>
        </HeaderTemplate>
        <ContentTemplate>
            <span style="font-weight: bold">[ContactName]:</span><%#DataBinder.Eval(Container.DataItem, "[ContactName]")%><br />
            <span style="font-weight: bold">[ContactTitle]:</span><%#DataBinder.Eval(Container.DataItem, "[ContactTitle]")%><br />
        </ContentTemplate>
    </asp:Accordion>

    最终的效果如下图:

    image

    本文演示所用的数据库是微软的演示库Northwind,此数据库的生成脚本请大家自行百度眨眼

  • 相关阅读:
    Yii CGridView 之 SQL 语句
    Yii的srbac拓展中“用户已经获授权项”无法查看
    MyBatis通过注解实现映射中的嵌套语句和嵌套结果
    MyBatis一对多映射简单查询案例(嵌套结果)
    MyBatis绑定Mapper接口参数到Mapper映射文件sql语句参数
    将前端请求中的数据绑定到Spring MVC响应方法中参数的四种方法
    MyBatis一对多映射简单查询案例(嵌套Mapper映射文件中的sql语句)
    Spring MVC与html页面的交互(以传递json数据为例)
    使用Spring JDBC连接数据库(以SQL Server为例)
    spring mvc访问html页面404报错解决
  • 原文地址:https://www.cnblogs.com/gb2013/p/ajaxcontroltoolkit_accordion.html
Copyright © 2011-2022 走看看