• DataList实现折叠效果


    先看图:

    这个功能可以用后台管理中(区域的绑定,商品大类,商品小类,商品信息的管理);

    实现原理如下:

    先建设一个数据表如:高校栏目表

    截图如下:

    ParentID保存父ID的节点,ChildID保存子ID的节点,

    如果某一行中的ParentID不为空,子节点为空,说明此行为父节点;而子节点的ParentID对应相应的父节点。

    前台代码
    1 <div>
    2 <asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound" >
    3 <HeaderTemplate>
    4 <table>
    5 <thead style="background-color:Silver">
    6 <td width="50px">
    7 操作</td>
    8 <td width="100px">
    9 名称</td>
    10 <td >
    11 时间</td>
    12 </thead>
    13 </HeaderTemplate>
    14 <ItemTemplate>
    15 <tr style="background-color:#cccccc">
    16 <td align="left" width="50px">
    17 <img src="expand.gif" onclick="expand('id1_<%#Eval("id") %>')" />
    18 </td>
    19 <td align="left" width="100px">
    20 <%#Eval("Name") %>
    21 </td>
    22 <td align="left" width="100px">
    23 <%#Eval("DataOf", "{0:yyyy-MM-dd}")%>
    24 </td>
    25 </tr>
    26 <tr id="id1_<%#Eval("id") %>" style="display:none; background-color:InfoBackground" >
    27 <td colspan="3">
    28 <asp:DataList ID="DataList2" runat="server">
    29 <ItemTemplate>
    30 <tr>
    31 <td align="left" width="50px">
    32 <img src="collapse.gif" />
    33 </td>
    34 <td align="left" width="100px">
    35 <%#Eval("Name") %>
    36 </td>
    37 <td align="left" width="100px">
    38 <%#Eval("DataOf","{0:yyyy-MM-dd}") %>
    39 </td>
    40 </tr>
    41 </ItemTemplate>
    42 </asp:DataList>
    43 </td>
    44 </tr>
    45 </ItemTemplate>
    46 <FooterTemplate>
    47 </table>
    48 </FooterTemplate>
    49 </asp:DataList>
    50 </div>
     
    可以看到 用到了两个DataList数据控件,且用table布局(用DIV布局也可以);
    最主要的一点 可以看到 第二个<tr>标签中 设置其id="id1_<%#Eval("id")%>",这是因为符合条件的数据可能显示多行,只能给其起一个不同的名字作为id,
    为方便操作,所以就用这种方式。
     
    //js代码如下:
     

    function expand(a)
        {

        if(document.getElementById(a).style.display=='none')
        {document.getElementById(a).style.display='block';
        }
        else
        {document.getElementById(a).style.display='none';
        }
        }
       

     

    后台代码就很平常啦!,在OnItemDataBound事件中,做了对第二个datalist数据控件的绑定操作。

    这个不会出现展开或折叠节点是,发生数据的回发。

     

     

     

     

  • 相关阅读:
    根据坐标经纬度计算两点之间的距离
    C# 获取类名
    Post、Get请求
    Image和Base64相互转换
    Html checkbox全选
    .NET Core 中间件
    C# DataTable 用法
    imshow(A,[])和imshow(A)的区别
    Log-spectral distance
    CUDA
  • 原文地址:https://www.cnblogs.com/hfliyi/p/2040024.html
Copyright © 2020-2023  润新知