Установите флажок «Отключить» в Asp.net Gridview на основе DropDownList в C #

1

Включить отключить флажок в Asp.net Gridview на основе DropDownlist в С#

У меня проблема с кодом С#.

Мне нужно включить или отключить флажки в gridview asp.net на основе DropDownList.

Если в DropDownList нет выбранных значений, флажки в GridView отключены.

Когда в DropDownList выбрано значение, флажки в GridView включены для переменной, выбранной в DropDownList.

В GridView вывод корректен, когда в DropDownList выбрали значение, но флажки всегда включены.

Я пробовал использовать это решение без успеха.

Вот мой код:

   protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        try
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                CheckBox chkSelect = (CheckBox)e.Row.FindControl("chkSelect");

                if (DDL.SelectedIndex != 0)
                {
                    chkSelect.Enabled = true;
                }
            }
        }
        catch (Exception)
        {
        }
    }

# 1

            <asp:DropDownList ID="DDL" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DDL_SelectedIndexChanged"
                CssClass="ddl_Class" Enabled="false">
                <asp:ListItem Text="-------" Value=""></asp:ListItem>
            </asp:DropDownList>                    

                <asp:TemplateField>
                    <ItemTemplate>
                        <center>
                            <asp:CheckBox ID="chkSelect" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged"
                                AutoPostBack="true" Enabled="false" /></center>
                    </ItemTemplate>
                </asp:TemplateField>


protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
{

    for (int i = 0; i < GridView1.Rows.Count; i++)
    {
        CheckBox chkSelect = ((CheckBox)GridView1.Rows[i].FindControl("chkSelect"));

        if (DDL.SelectedIndex != 0)
        {
            chkSelect.Enabled = true;
        }
    }

    GridViewBind();
}
  • 0
    попытайтесь использовать событие dropdown_SelectedIndexChanged Сначала найдите кнопку проверки внутри этого события, а затем примените ваше условие.
Теги:
checkbox
gridview

1 ответ

1
Лучший ответ

установите флажок Включить ИЛИ Отключить включение

    protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
    {
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            CheckBox chkSelect = ((CheckBox)GridView1.Rows[i].FindControl("chkSelect"));

            if (DDL.SelectedIndex != 0)
            {
                chkSelect.Enabled = true;
            }
        }
    }
  • 0
    Спасибо за помощь. При редактировании # 1 в моем первом посте новой версии моего кода, флажки теперь все отключены.
  • 0
    @Hamamelis не привязывать сетку во второй раз GridViewBind () удалить
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню