Click here to Skip to main content
15,912,507 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
I have a grid in which I have 7 columns where all the checkboxes are disabled. How do I disable the delete button?

In the diagram below, if all the checkboxes in the Cancel SO Line Item column are disabled then the DEL button should be disabled.

What I have tried:

ASP.NET
<asp:TemplateField HeaderText="Cancel SO Line Item">
        <ItemTemplate>
        <asp:checkbox ID="cbSOCan" runat="server" ViewStateMode="Enabled" EnableViewState="true"></asp:checkbox>
         </ItemTemplate>

     <asp:LinkButton CssClass="btn btn-primary" ID="btnCancelItem" runat="server" CausesValidation="False"OnClientClick="return Confirmationbox();"> Cancel Item</asp:LinkButton>
 <asp:HiddenField id="hdnval" value=0 runat="server"/>


c# code
C#
protected void btnCancelItem_Click(object sender, EventArgs e)
{
    foreach (GridViewRow gvrow in gvPOItems.Rows) {
        CheckBox chkdelte = (CheckBox)gvrow.FindControl("cbSOCan");
        HiddenField hdnval = (HiddenField)gvrow.FindControl("hdnval");
        if (chkdelte.Checked) {
            // gvAdditionalArea.Rows(rowIndex).Cells(0).Text()
            Int32 ItemNumber = Convert.ToInt32(gvrow.Cells(0).Text());
            Queries.CancelSOlineItem(ItemNumber, txtPONumber.Text);
            gvrow.Cells(7).Text() = "Cancelled";
            chkdelte.Checked = false;
            chkdelte.Enabled = false;
            hdnval.Value = 1;
}
}
protected void Page_Load(object sender, EventArgs e)
{
{if (!IsPostBack)
int rowcount = 0;
foreach (GridViewRow gvrow in gvPOItems.Rows) {
    HiddenField hdnval = (HiddenField)gvrow.FindControl("hdnval");
    if ((hdnval.Value == 1)) {
        rowcount = rowcount + 1;
    }
}
if ((gvPOItems.Rows.Count == rowcount)) {
    btnCancelItem.Visible = false;
}
}
}
Posted
Updated 21-May-17 4:40am
v2

http://www.programmingposts.com/2016/05/check-uncheck-all-checkboxes-in-table-jquery.html[^]

Go through the above link, make small necessary changes in code like.

JavaScript
function chkRowClicked() {
             var unChkCount = 0, ChkCount = 0;
             ChkCount = $('.clsChkRow:checkbox:checked').length;
             unChkCount = $('.clsChkRow:checkbox:not(:checked)').length;
             if (ChkCount == 0) {
                 $("#btnId").prop('disabled', 'false');
             }
             else if (unChkCount == 0) {
                 $("#btnId").prop('disabled', 'true');
             }
         }
 
Share this answer
 
Comments
Deepak Jain 21-May-17 6:22am    
but how to do it on page load ?
sameer549 21-May-17 7:11am    
register pageload script from codebehind and call your javascript function
Instead of registering from code behind. I suggest you use onload method of JS
JavaScript
        window.onload = function () {
 
          
 $(":checkbox").on("click", function(){

// your work

} );

}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900