DataGridView中cell 值的控制

    技术2022-05-11  12

    列的事件主要用来操作列中的数据。比如说:电话号码,数量,金额啊什么的。和大家分享研究成果

     

    首先,要先定义一个Class级的变量(放在Form内,可别放在外面),

      private DataGridViewTextBoxEditingControl EditingControl;

           其次,添加EditingControlShowing事件委托

    this.dgvDetails.EditingControlShowing += new System.Windows.Forms.DataGridViewEditingControlShowingEventHandler(this.dgvDetails_EditingControlShowing);

      第三步,定义委托的方法:

      private void dgvDetails_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)        {             EditingControl = (DataGridViewTextBoxEditingControl)e.Control;            EditingControl.KeyPress += new KeyPressEventHandler(EditingControl_KeyPress);        }

      注:加粗的地方很重要,主要是针对列的事件,这里才是正题

      第四步,定义列的委托方法啦,引用以其他控件引用完全相同。

      private void EditingControl_KeyPress(object sender, KeyPressEventArgs e)        {            if (!char.IsDigit(e.KeyChar) ) e.Handled = true;        }

    效果非常不错


    最新回复(0)