分享

DataList 嵌套 全选反选

 绚爷好人图书馆 2014-04-21
页面代码 ,两个DataList,DataList1嵌套DataList2
 <asp:DataList ID="DataList1" runat="server" DataKeyField="shopid"
           OnItemDataBound="DataList1_ItemDataBound" Width="100%"  >
        <ItemTemplate>
     
 
            <div>
            <asp:CheckBox ID="shopcheck" runat="server" AutoPostBack="True" OnCheckedChanged="shopcheck_CheckedChanged" />           
               <a href="<%#"ShopFood.aspx?shopid="+Eval("shopid").ToString() %>" target="_blank"><%#Eval("shopname")%></a>
            </div>
        
          <asp:DataList ID="DataList2" runat="server" RepeatColumns="1" DataKeyField="Id"
                  RepeatDirection="Horizontal" onitemcommand="DataList2_ItemCommand">
          <HeaderTemplate>
          </HeaderTemplate>
          <ItemTemplate>
         <table style="width: 100%;">
                       <tr>
                           <td>
                               <asp:CheckBox ID="cboSelect" runat="server" CommandName="select" AutoPostBack="True" OnCheckedChanged="cboSelect_CheckedChanged" />
                             
                           </td>
                           <td>
                               <asp:Image ID="Image1" ImageUrl='<%#"~/"+Eval("Img1") %>' runat="server" class="imgfoodcss" />
                           </td>
                    </tr>
                   </table>
            </ItemTemplate>
            <FooterTemplate>
            </FooterTemplate>         
          </asp:DataList>
         
      </ItemTemplate>
      </asp:DataList>
 
  <asp:CheckBox ID="ChkAll" Text="全选" runat="server" AutoPostBack="True" OnCheckedChanged="ChkAll_CheckedChanged" />
 
 
后台代码
public void ChkAll_CheckedChanged(object sender, EventArgs e)
        {
            if (this.ChkAll.Checked == true)
            {
                foreach (DataListItem item in this.DataList1.Items)
                {
                    ((CheckBox)item.FindControl("shopcheck")).Checked = this.ChkAll.Checked;
                }
                for (int i = 0; i < DataList1.Items.Count; i++)
                {
                    DataList dl = (DataList)DataList1.Items[i].FindControl("DataList2");
                    for (int j = 0; j < dl.Items.Count; j++)
                    {
                        CheckBox ChkBxItem = (CheckBox)dl.Items[j].FindControl("cboSelect");
                        ChkBxItem.Checked = true;
                    }
                }
            }
            else if (this.ChkAll.Checked == false)
            {
                foreach (DataListItem item in this.DataList1.Items)
                {
                    ((CheckBox)item.FindControl("shopcheck")).Checked = false;
                }
                for (int i = 0; i < DataList1.Items.Count; i++)
                {
                    DataList dl = (DataList)DataList1.Items[i].FindControl("DataList2");
                    for (int j = 0; j < dl.Items.Count; j++)
                    {
                        CheckBox ChkBxItem = (CheckBox)dl.Items[j].FindControl("cboSelect");
                        ChkBxItem.Checked = false;
                    }
                }
            }
            else
            {
                return;
            }
        }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多