【问题标题】:disable a checkbox in gridview at server side禁用服务器端gridview中的复选框
【发布时间】:2017-04-20 04:18:55
【问题描述】:

我想禁用服务器端 gridview 中存在的复选框...这样一旦选中,它就会在服务器端被禁用并且永远不会再次启用...您能帮忙吗..

    <Columns>
   <asp:TemplateField>
    <ItemTemplate>
    <asp:CheckBox ID="chkchild" runat="server"  AutoPostBack= "true" CommandArgument= '<%# Eval("id") %>'/>
    </ItemTemplate>
    </asp:TemplateField>
    </asp:Columns>

【问题讨论】:

    标签: javascript jquery asp.net gridview


    【解决方案1】:

    您需要设置 Checkbox changed 事件,并从那里为每个检查设置 Enabled=false

    protected void chkchild_CheckedChanged(object sender, EventArgs e)
    {
        GridViewRow row = ((GridViewRow)((CheckBox)sender).NamingContainer);
        int index = row.RowIndex;
        CheckBox cb1 = (CheckBox)Gridview.Rows[index].FindControl("chkchild");
         if(cb1.Checked)
         {
            cb1.Enabled ='false';
         }
    
    }
    

    【讨论】:

    • 它只工作一次。我想要的是一旦它被禁用后检查它是否处于相同状态并且永远不会启用。
    • @kritiupadhyay 然后该状态需要使用单独的列存储在数据库中,再次在onRowDataBound 中绑定网格视图时,您可以将复选框设置为禁用模式,Or 您需要告诉一些需要禁用复选框的标志..您是否有任何特定列,解释此标准
    • 不..我没有任何存储复选框值的列
    • @kritiupadhyay 那么你需要指定哪些行需要处于禁用模式,因为浏览器是无状态的
    • 实际上这只是使用复选框随机选择的行..那么我应该使用什么概念来禁用它..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 2011-01-28
    • 2013-12-01
    • 2016-06-19
    • 2016-11-28
    • 2015-07-03
    相关资源
    最近更新 更多