方法一
1 #region 设置DataGridView列编辑状态 2 private void dgDetails_CellClick(object sender, DataGridViewCellEventArgs e) 3 4 { 5 if (e.RowIndex == -1) 6 return; 7 8 if (e.ColumnIndex == 6) 9 { 10 if (this.btnSave.Enabled == false) 11 return; 12 this.dgDetails.ReadOnly = false; 13 this.dgDetails.EditMode = DataGridViewEditMode.EditOnEnter; 14 } 15 else 16 { 17 this.dgDetails.ReadOnly = true; 18 } 19 } 20 #endregion
方法二
1 private void FrmWorkOrderLabel_Load(object sender, EventArgs e) 2 { 3 this.SetControlState(1); 4 } 5 6 #region 设置控件状态 7 /// <summary> 8 /// 设置控件状态 9 /// </summary> 10 /// <param name="nFlag"></param> 11 public void SetControlState(int nFlag) 12 { 13 this.dgvParent.ReadOnly = nFlag == 1 ? false : true; 14 //设置列为默认的ReadOnly属性。 15 foreach (DataGridViewColumn dgvCol in this.dgvParent.Columns) 16 { 17 dgvCol.ReadOnly = nFlag == 1 ? (bool)this.ColumnState[dgvCol.Name] : true; 18 } 19 //可添加列 20 this.dgvParent.AllowUserToAddRows = nFlag == 1 ? true : false; 21 //根据编辑状态设置列 22 this.dgvParent.Columns["标签张数"].ReadOnly = nFlag == 1 ? false : true; 23 24 } 25 #endregion
浙公网安备 33010602011771号