你已经建一个TemplateField 列,然后再里面建一个CheckBox 复选框。在编辑模板TemplateField 列时,把CheckBox 复选框的Enabled属性设置为:true就可以在GridView1_RowEditing方法中进行编辑了。
但是
if (Convert.ToBoolean(dt.Rows[0].ItemArray[4]))
{//获取人事管理复选框
CheckBox ckbox = (CheckBox)e.Row.FindControl("ckboxPersonnel");
ckbox.Checked = true;
ckbox.Enabled=false;//显示时禁止修改选项状态
}
IF语句又把复选框中选择为TRUE的数据的Enabled设置为false,在ROWEDITING事件中可能就不能修改了。在ROWEDITING事件中把 ckbox.Enabled=false; 代码去掉。
GridView1_RowEditing(object send , event e)
{
this.GridView1.EditIndex=e.Row.RowIndex;//把这一行设定为可编辑状态,你试试看.(如果你是在gridview中直接修改的)
}
定义各个模板列 在显示时放一个Ckeckbox 设置不可编辑 在行进行编辑时 在模板列编辑状态下放checkbox可编辑