GridView要注意的地方
在点击“编辑”按钮时,无法实例化XXX控件(导致赋值的目标控件找不到的情况)
所以还需RowDataBound更近一步判断当前行的状态是否为编辑状态,故改变RowDataBound事件如下:
protected void gv_SpaceHandle_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && gv_Space.DataControlRowState.Edit)
{
Label lbl1 = (Label)e.Row.FindControl("lblSpacePrice");
lbl1.Text = lbl1.Text + "元";
}
}
但是这时候点编辑不点更新和取消,在点其他行的编辑又会出错
gv_Space.EditIndex==-1可解决
所以还需RowDataBound更近一步判断当前行的状态是否为编辑状态,故改变RowDataBound事件如下:
protected void gv_SpaceHandle_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && gv_Space.DataControlRowState.Edit)
{
Label lbl1 = (Label)e.Row.FindControl("lblSpacePrice");
lbl1.Text = lbl1.Text + "元";
}
}
此时正常操作情况下已经解决了编辑时找不到目标控件的错误!
但是这时候点编辑不点更新和取消,在点其他行的编辑又会出错
gv_Space.EditIndex==-1可解决