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";
ASP.NET 设置GridView中的某一列无法编辑
最新推荐文章于 2025-03-11 12:16:34 发布