基于c#下拉列表的Asp.net Gridview中启用禁用复选框

本文关键字:启用 复选框 Gridview net 下拉列表 Asp 基于 | 更新日期: 2023-09-27 18:19:00

启用基于c#下拉列表的Asp.net Gridview中的禁用复选框

我的c#代码有问题。

我需要启用或禁用复选框在asp.net gridview基于下拉列表。

如果在下拉列表中没有选择任何值,则GridView中的复选框将被禁用。

当在下拉列表中选择了一个值时,GridView中的复选框将为下拉列表中选择的变量启用。

在GridView中,当下拉列表中选择了一个值时,输出是正确的,但复选框总是启用的。

我试过这些方法,但没有成功。

下面是我的代码:
   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();
}

基于c#下拉列表的Asp.net Gridview中启用禁用复选框

您是否设置复选框启用或禁用

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

让字符串小写会有帮助吗?

 Eval("Reason").ToString().ToLower().Equals("hybrid")