是否可以在ASP.NET GridView中的CheckBox列上切换ReadOnly?

时间:2016-02-10 23:58:47

标签: c# asp.net gridview checkbox

我在asp:GridView中有一个asp:CheckBoxField列。 如果已经选中,我想将该列设为ReadOnly。 该字段将从数据库中的bool值填充。

到目前为止,我只能在设计时设置列的ReadOnly属性。当我试图在代码中动态设置它时,它似乎没有做任何事情。

enter image description here

无论如何都要引用" ReadOnly" GridView内部的复选框的属性?

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以通过gridviews行数据绑定事件

来实现此目的
<asp:gridview id="Gridview1" runat="server" onrowdatabound="Gridview1_RowDataBound" ..........>

并在代码中

 protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            CheckBox chk = (CheckBox)e.Row.FindControl("chkBox");
            if (chk.Checked==true)
            {
                chk.Enabled = false;
            }
            else
            {
                chk.Enabled = true;
            }
        }
    }