Deepak Jain Ответов: 2

Как отключить кнопку, когда все флажки в столбце в сетке отключены ASP.NET с помощью javascript/C# ?


У меня есть сетка, в которой у меня есть 7 столбцов, где все флажки отключены. Как я могу отключить кнопку "Удалить"?

На приведенной ниже диаграмме, если все флажки в столбце Cancel SO Line Item отключены, то кнопка DEL должна быть отключена.

Что я уже пробовал:

<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#
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;
}
}
}

2 Ответов

Рейтинг:
2

omerkamran

Вместо того, чтобы регистрироваться из кода позади. Я предлагаю вам использовать метод onload JS

        window.onload = function () {
 
          
 $(":checkbox").on("click", function(){

// your work

} );

}


Рейтинг:
1

sameer549

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

Пройдите по приведенной выше ссылке,внесите небольшие необходимые изменения в код типа.

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');
             }
         }


Deepak Jain

но как это сделать при загрузке страницы ?

sameer549

зарегистрировать pageload сценарий из отделенного кода и вызова функции JavaScript