DataGridTextBox.Textchange
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
http://feiyun0112.cnblogs.com/

解决方案 »

  1.   

    要重写datagirdview吗,找不到楼上所说的事件
      

  2.   

    要重写datagirdview吗,找不到楼上所说的事件
      

  3.   

    啥叫瞎扯淡,这就是瞎扯淡CellValueChanged方法。
      

  4.   

    CellValueChanged这个事件不行.这是输入完后触发,我是想在这个cell每输一个字符就触发的事件,类似于keypress
      

  5.   

    我也在鼓捣这个问题,应该是在doubleclick事件之后,Datagridview会创建一个新的控件去接收输入。需要在这个新的控件中去触发所需要的操作!我查询了一些资料,但是不知道到底从那里去找新创建的那个输入框对应的事件~~,我没办法就弄了一个textbox上去建议还是用一楼的方法,自己重写一下Datagridview,在doubleclick事件的时候,创建一个新的textbox,然后用这个textbox的事件去接收输入。
      

  6.   

    呵呵,给你一个最完美的解决办法,HOHO,我要分哦        private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                Control cotrol = (Control)e.Control;
                cotrol.KeyDown += new KeyEventHandler(cotrol_KeyDown);
            }        void cotrol_KeyDown(object sender, KeyEventArgs e)
            {
                MessageBox.Show(e.KeyCode.ToString());
            }去试一下吧,不好使包退包换
      

  7.   

    [VB.NET]
    'CellFormattingイベントハンドラ
    Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
            ByVal e As DataGridViewCellFormattingEventArgs) _
            Handles DataGridView1.CellFormatting
        Dim dgv As DataGridView = CType(sender, DataGridView)    'セルの列を確認
        If dgv.Columns(e.ColumnIndex).Name = "Column1" AndAlso _
                TypeOf e.Value Is String Then
            '大文字にして表示する
            Dim str As String = e.Value.ToString()
            e.Value = str.ToUpper()
            'フォーマットの必要がないことを知らせる
            e.FormattingApplied = True
        End If
    End Sub
      

  8.   

    可以把textbox 嵌入到 datagirdview
    如果要检索值的话
    建议不要 根据用户的数据去数据库获取值
    那样效率很低可以用 下拉列表 
      

  9.   

    用CellValidating比较好 可以判断输入正确与否 不会触发多次 只在离开时做验证 可以保证进入单元格的值是正确的值
      

  10.   

    CurrentCellDirtyStateChanged这个事件
    事件里第一行加上datagridview1.endedit()
    试试