hi,
i have nested datalist ,
i want select all checkbox jquery code when we click on sub header .
can any one help me.
i am posting my code ,please help me
thanks in advance
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Example3.aspx.cs"
Inherits="Example3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<style type="text/css">
.btnStyle1
{
color: white;
border: 1px solid #3E84F5;
background-color: #5896D2;
font-weight: bold;
font-family: Verdana;
}
.btnStyle1:hover
{
color: white;
border: 1px solid #3E84F5;
background-color: #00AFF0;
font-weight: bold;
font-family: Verdana;
cursor: pointer;
}
.allcaps
{
text-transform: uppercase;
}
input.twitterStyleTextbox
{
border: 1px solid #c4c4c4;
font-size: 12px;
padding: 4px 4px 4px 4px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
box-shadow: 0px 0px 8px #d9d9d9;
-moz-box-shadow: 0px 0px 8px #d9d9d9;
-webkit-box-shadow: 0px 0px 8px #d9d9d9;
}
input.twitterStyleTextbox:focus
{
outline: none;
border: 1px solid #7bc1f7;
box-shadow: 0px 0px 8px #7bc1f7;
-moz-box-shadow: 0px 0px 8px #7bc1f7;
-webkit-box-shadow: 0px 0px 8px #7bc1f7;
}
</style>
<style type="text/css">
body
{
font-family: Arial;
font-size: 10pt;
}
.table
{
border: 1px solid #ccc;
border-collapse: collapse;
background-color: #fff;
width: 190px;
}
.table th
{
background-color: #B8DBFD;
color: #333;
font-weight: bold;
}
.table td:first-child
{
font-weight: bold;
}
.table th, .table td
{
padding: 5px;
border: 1px solid #ccc;
}
.table, .table table td
{
border: 0px solid #ccc;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
// For Main Select All
$("[id*=chk_Select_All]").click(function () {
if ($(this).is(":checked")) {
$("[id*=DataList_Main] [id*=chk_Header]").attr("checked", "checked");
$("[id*=DataList_Main] [id*=chk_Row]").attr("checked", "checked");
} else {
$("[id*=DataList_Main] [id*=chk_Header]").removeAttr("checked");
$("[id*=DataList_Main] [id*=chk_Row]").removeAttr("checked");
}
});
// For Sub Header Select all
$("[id*=DataList_Main] [id*=chk_Header]").click(function () {
if ($(this).is(":checked")) {
$("[id*=DataList_Main] [id*=chk_Row]").attr("checked", "checked");
} else {
$("[id*=DataList_Main] [id*=chk_Row]").removeAttr("checked");
}
});
// For row checkbox
$("[id*=DataList_Main] [id*=chk_Row]").click(function () {
if ($("[id*=DataList_Main] [id*=chk_Row]").length == $("[id*=DataList_Main] [id*=chk_Row]:checked").length) {
$("[id*=chk_Select_All]").attr("checked", "checked");
} else {
$("[id*=chk_Select_All]").removeAttr("checked");
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
<asp:CheckBoxList ID="CheckBoxList1" runat="server" Font-Names="Verdana" Font-Size="12px"
AutoPostBack="true" CellPadding="4" CellSpacing="0" Font-Underline="true" RepeatDirection="Horizontal"
OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
</asp:CheckBoxList>
</td>
</tr>
</table>
<br />
<div>
<table>
<tr>
<td align="left" valign="top">
<asp:DataList ID="DataList_Main" runat="server" OnItemDataBound="DataList_Main_ItemDataBound"
>
<HeaderTemplate>
<asp:CheckBox ID="chk_Select_All" runat="server" Text="Select All" ClientIDMode="Static"/>
</HeaderTemplate>
<ItemTemplate>
<table align="left" cellpadding="4" cellspacing="0" rules="all" style="border: 1px solid gray;
border-collapse: collapse;">
<tr>
<td align="left" valign="top" style="background-color: LightGray; width:25px;">
<asp:CheckBox ID="chk_Header" runat="server" Checked="false" ClientIDMode="Static" />
</td>
<td align="center" valign="top" style="background-color: LightGray; width:100px;">
<asp:Label ID="lbl_Dept_Name" runat="server" Text='<%#Eval("Dept_Name")%>' Font-Bold="true"></asp:Label>
</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2">
<asp:DataList ID="DataList_Child" runat="server" Width="100%">
<ItemTemplate>
<table align="left" width="100%" cellpadding="4" cellspacing="0" rules="all" style="border: 1px solid gray;
border-collapse: collapse;">
<tr>
<td align="left" valign="top" style="width: 25px;">
<asp:CheckBox ID="chk_Row" runat="server" Checked="false" ClientIDMode="Static"/>
</td>
<td align="left" valign="top" style="width: 100px;">
<asp:Label ID="lbl_Emp_Name" runat="server" Text='<%#Eval("Emp_Name")%>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" VerticalAlign="Top" />
</asp:DataList>
</td>
</tr>
</table>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" VerticalAlign="Top" />
</asp:DataList>
</td>
</tr>
</table>
</div>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
public partial class Example1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Fill_Chklst_dept();
}
}
public void Fill_Chklst_dept()
{
DataTable dt = new DataTable("Rajesh Report1");
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Dept_ID", typeof(Int32)), new DataColumn("Dept_Name", typeof(String)) });
dt.Rows.Add(1, "Account");
dt.Rows.Add(2, "Admin");
dt.Rows.Add(3, "Other");
CheckBoxList1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
CheckBoxList1.Items.Add(new ListItem(dt.Rows[i]["Dept_Name"].ToString(), dt.Rows[i]["Dept_ID"].ToString()));
}
}
public DataTable Fill_Dt1()
{
DataTable dt = new DataTable("Rajesh Report1");
dt.Columns.AddRange(new DataColumn[4] { new DataColumn("ID", typeof(Int32)), new DataColumn("Dept_ID", typeof(Int32)), new DataColumn("Dept_Name", typeof(String)), new DataColumn("Emp_Name", typeof(String)) });
dt.Rows.Add(1, 1, "Account", "AAAAA");
dt.Rows.Add(2, 1, "Account", "BBBBB");
dt.Rows.Add(3, 1, "Account", "CCCCC");
dt.Rows.Add(4, 2, "Admin", "PPPPP");
dt.Rows.Add(5, 2, "Admin", "QQQQQQ");
dt.Rows.Add(6, 3, "Other", "WWWWWW");
dt.Rows.Add(7, 3, "Other", "RRRRRR");
dt.Rows.Add(8, 3, "Other", "TTTTTT");
dt.Rows.Add(9, 3, "Other", "YYYYYY");
return dt;
}
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
DataList_Main.DataSource = null;
DataList_Main.DataBind();
var selected = string.Join(", ", CheckBoxList1.Items.Cast<ListItem>().Where(li => li.Selected).Select(x => x.Value).ToArray());
if (selected.ToString() != "")
{
DataTable dt = new DataTable("Rajesh Report1");
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Dept_ID", typeof(Int32)), new DataColumn("Dept_Name", typeof(String)) });
dt.Rows.Add(1, "Account");
dt.Rows.Add(2, "Admin");
dt.Rows.Add(3, "Other");
DataRow[] dr = dt.Select("Dept_ID in(" + selected + ")");
DataList_Main.DataSource = dr.CopyToDataTable();
DataList_Main.DataBind();
}
}
string Dept_ID1 = "";
int chk = 1;
protected void DataList_Main_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item | e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView drv = e.Item.DataItem as DataRowView;
string Dept_ID = drv["Dept_ID"].ToString();
DataList DataList_Child = e.Item.FindControl("DataList_Child") as DataList;
DataTable dt = Fill_Dt1();
DataRow[] dr = dt.Select("Dept_ID in(" + Dept_ID + ")");
if (dr.Length > 0)
{
if (Dept_ID1.ToString() != "")
{
if (Dept_ID1.ToString() != Dept_ID)
{
DataList_Main.RepeatDirection = RepeatDirection.Vertical;
DataList_Main.RepeatColumns = chk;
}
}
DataList_Child.DataSource = dr.CopyToDataTable();
DataList_Child.DataBind();
}
Dept_ID1 = Dept_ID;
chk++;
}
}
}