Hello,
A Sample code below for your requirement,
Sample Gridview(.aspx):
<td colspan="6" align="center">
<asp:GridView ID="gdvShopCartDetails" runat="server" Width="950px"
AutoGenerateColumns="False" onrowcreated="gdvShopCartDetails_RowCreated"
onrowdatabound="gdvShopCartDetails_RowDataBound">
<HeaderStyle BackColor="LightGray" Height="30px" />
<AlternatingRowStyle CssClass="alt"></AlternatingRowStyle>
<Columns>
<asp:TemplateField HeaderText="SLNo" Visible="false">
<ItemTemplate>
<asp:Label ID="lblSLNO" runat ="server" Text='<%#Bind("Task_ID")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Shopping Cart No">
<ItemTemplate>
<asp:HiddenField ID="hdfDelID" runat="server" Value='<%#Bind("Task_ID")%>' />
<asp:Label ID="lblShopCart" runat ="server" Text='<%#Bind("ShoppingCartNo")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ServiceLine ID">
<ItemTemplate>
<asp:Label ID="lbtnSLID" runat ="server" Text='<%#Bind("SL_Code")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Complexity">
<ItemTemplate>
<asp:Label ID="lblComplex" runat ="server" Text='<%#Bind("Service_Complexity")%>' ></asp:Label>
</ItemTemplate>
<ItemStyle CssClass="cellaligncentre"/>
</asp:TemplateField>
<asp:TemplateField HeaderText="Project" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblProject" runat="server" Text='<%#Bind("ProjectDescription")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Deliverable Name">
<ItemTemplate>
<asp:Label ID="lblDeliverableName" runat="server" Text='<%#Bind("DeliverableName")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PlanDate">
<ItemTemplate>
<asp:Label ID="lblPlanDate" runat="server" Text='<%#Eval("PlanDate", "{0:MM/dd/yyyy}")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Actual Date">
<ItemTemplate>
<asp:Label ID="lblActualDate" runat="server" Text='<%#Eval("ActualDate", "{0:MM/dd/yyyy}")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delivery Date">
<ItemTemplate>
<asp:Label ID="lblDeliveryDate" runat="server" Text='<%#Eval("DeliveryDate", "{0:MM/dd/yyyy}")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Deliverable Reworked">
<ItemTemplate>
<asp:Label ID="lblDeliverableReworked" runat="server" Text='<%#Bind("Reworked")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Approve">
<HeaderTemplate>
<asp:Label ID="lblApproveall" runat="server" Text="Approve"></asp:Label>
<br>
</br>
<asp:CheckBox ID="chkApproveAll" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkApprove" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Deny">
<HeaderTemplate>
<asp:Label ID="lblDenyall" runat="server" Text="Deny"></asp:Label>
<br>
</br>
<asp:CheckBox ID="chkDenyAll" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkDeny" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Remarks">
<ItemTemplate>
<asp:TextBox ID="txtRemarks" runat="server" Text='<%#Bind("Task_Approve_Remarks")%>' TextMode="MultiLine"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
Javacript function(.aspx):
<script type="text/javascript" language="javascript">
function SelectAll(ctrlName) {
var isChecked = document.getElementById(ctrlName).checked;
var ApproveMode = '';
var ctrlMode = document.getElementById(ctrlName).name;
var ctrlModeArr = ctrlMode.split("$");
var ctrlModeName = ctrlModeArr[ctrlModeArr.length - 1];
if (ctrlModeName.indexOf('Approve') > 0)
ApproveMode = true;
else
ApproveMode = false;
var f = document.getElementById("<%=gdvShopCartDetails.ClientID%>");
var txtlen = f.getElementsByTagName("input").length;
for (i = 0; i < txtlen; i++) {
if (f.getElementsByTagName("input").item(i).type == "CheckBox" || f.getElementsByTagName("input").item(i).type == "checkbox") {
var ctrlName = f.getElementsByTagName("input").item(i).name;
var ctrlNameArr = ctrlName.split("$");
if (ApproveMode && (ctrlNameArr[ctrlNameArr.length - 1] == "chkApprove" || ctrlNameArr[ctrlNameArr.length - 1] == "chkApproveAll")) {
f.getElementsByTagName("input").item(i).checked = isChecked;
f.getElementsByTagName("input").item(i + 1).disabled = isChecked;
}
else if (!ApproveMode && (ctrlNameArr[ctrlNameArr.length - 1] == "chkDeny" || ctrlNameArr[ctrlNameArr.length - 1] == "chkDenyAll")) {
f.getElementsByTagName("input").item(i).checked = isChecked;
f.getElementsByTagName("input").item(i - 1).disabled = isChecked;
}
}
}
}
function Select(ctrlName) {
var isChecked = document.getElementById(ctrlName).checked;
var ApproveMode = '';
var ctrlMode = document.getElementById(ctrlName).name;
var ctrlModeArr = ctrlMode.split("$");
var ctrlModeName = ctrlModeArr[ctrlModeArr.length - 1];
var ctrlModeID = ctrlModeArr[ctrlModeArr.length - 2];
if (ctrlModeName.indexOf('Approve') > 0)
ApproveMode = true;
else
ApproveMode = false;
var f = document.getElementById("<%=gdvShopCartDetails.ClientID%>");
var txtlen = f.getElementsByTagName("input").length;
for (i = 0; i < txtlen; i++) {
if (f.getElementsByTagName("input").item(i).type == "CheckBox" || f.getElementsByTagName("input").item(i).type == "checkbox") {
var ctrlName = f.getElementsByTagName("input").item(i).name;
var ctrlNameArr = ctrlName.split("$");
if (ApproveMode && (ctrlNameArr[ctrlNameArr.length - 2] == ctrlModeID)) {
f.getElementsByTagName("input").item(i + 1).disabled = isChecked;
break;
}
else if (!ApproveMode && (ctrlNameArr[ctrlNameArr.length - 2] == ctrlModeID)) {
f.getElementsByTagName("input").item(i).disabled = isChecked;
break;
}
}
}
}
Codebehind (aspx.cs):
protected void gdvShopCartDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
domainID = ddlDomain.SelectedValue;
SubDomainID = ddlSubDomain.SelectedValue;
if (ddlProject.SelectedValue == "Select")
{
ProjectID = "";
}
else
{
ProjectID = ddlProject.SelectedValue.ToString();
}
if (ddlShopCart.SelectedValue == "Select")
{
ShopCartNo = "";
}
else
{
ShopCartNo = ddlShopCart.SelectedValue.ToString();
}
if (txtReqStrtDate.Text == "")
{
FromDate = DateTime.MinValue;
}
else
{
FromDate = Convert.ToDateTime(txtReqStrtDate.Text);
}
if (txtReqToDate.Text == "")
{
EndDate = DateTime.MinValue;
}
else
{
EndDate = Convert.ToDateTime(txtReqToDate.Text);
}
ShopCartDetails = ProcessService.getShoppingCartDetails_App(domainID, SubDomainID, ProjectID, ShopCartNo, FromDate, EndDate);
if ((e.Row.RowType == DataControlRowType.Header))
{
((CheckBox)e.Row.FindControl("chkApproveAll")).Attributes.Add("onclick", "javascript:SelectAll('" + ((CheckBox)e.Row.FindControl("chkApproveAll")).ClientID + "')");
((CheckBox)e.Row.FindControl("chkDenyAll")).Attributes.Add("onclick", "javascript:SelectAll('" + ((CheckBox)e.Row.FindControl("chkDenyAll")).ClientID + "')");
}
if ((e.Row.RowType == DataControlRowType.DataRow ))
{
string ApproveCtrl = string.Empty;
ApproveCtrl = ((CheckBox)e.Row.FindControl("chkApprove")).ClientID.ToString();
((CheckBox)e.Row.FindControl("chkApprove")).Attributes.Add("onclick", "javascript:Select('" + ((CheckBox)e.Row.FindControl("chkApprove")).ClientID + "')");
((CheckBox)e.Row.FindControl("chkDeny")).Attributes.Add("onclick", "javascript:Select('" + ((CheckBox)e.Row.FindControl("chkDeny")).ClientID + "')");
}
}
All the Best:)