ASP.NET 设置GridView中的某一列无法编辑

1.设置一个ViewState["EditFlag"]
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
            ViewState["EditFlag"] = "-1";
    }
2.在GridView的RowEditing事件中获取点击的行号
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        ViewState["EditFlag"] = e.NewEditIndex.ToString();
    }
3.在GridView的PreRender事件中找TextBox,并设置ReadOnly为true
    protected void GridView1_PreRender(object sender, EventArgs e)
    {
        if (ViewState["EditFlag"].ToString() != "-1")
        {
            TextBox myt = (TextBox)GridView1.Rows[Convert.ToInt32(ViewState["EditFlag"].ToString())].Cells[2].FindControl("TextBox1");
            myt.ReadOnly = true;
        }
    }
以上是模板列!!所要注意的是一但保存,要将ViewState["EditFlag"]="-1";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值