方法一

 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

 

posted on 2012-07-02 10:48  清风暮雨  阅读(2215)  评论(0)    收藏  举报