我在DataGridView中的某个Cell中输入数据,并在输入的时候判断是否是我要的数据,比如我要输入的是数字:if(e.KeyChar!=8&&e.KeyChar!=16&&(e.KeyChar<48||e.KeyChar>57))
            {
                e.Handled = true;
            }
如果不是数字就不修改,否则就修改
 例:
某个Cell的内容为:12  输入A,则仍然是12,输入3,就成了123  
请问在那个事件里,执行这个判断,(在DataGridView的KeyPress中不能触发)
谢谢!!!!!
谢谢!!!!!

解决方案 »

  1.   

    这个很简单啊
    DataGridView有个DataGirdViewTextBoxEditingShow这样的事件
    先声明变量DataGirdViewTextBoxEditingControl DgvTextBoxEdit;
    然后再我刚才写的那个事件里写如下代码:DgvTextBoxEdit=(DataGirdViewTextBoxEditingControl)e.Control
    DgvTextBoxEdit.KeyPress-=new KeyPress(DgvTextBoxEdit_KeyPress);
    DgvTextBoxEdit.KeyPress+=new KeyPress(DgvTextBoxEdit_KeyPress);然后在这个事件外写如下代码:
    void DgvTextBoxEdit_KeyPresseyPress(参数就不用我写了啊,怕写错,呵呵)
    {
       再把你刚才的代码放到这里来,就OK了
    }写的好辛苦啊,也不知道有没单词拼错,记得给分啊
    百分之百正确的,呵呵,我老做这个了。
      

  2.   

    上面有个地方有笔误
    应该是:
    void DgvTextBoxEdit_KeyPress(Object sender,KeyPressEventArgs e) 

      再把你刚才的代码放到这里来,就OK了