想实现一个类似数据库视图工具的功能,我做了3个DataGridview,其中dgv_CodeValue控件有3个事件,分别是Leave,CellValidate和DataError,我在CellValidate事件中做的输入值类型验证,在Leave事件中做的记录dgv_CodeValue单元格值的功能,现在问题是当我输入完数值后,触发Leave事件时,如果输入的数值不符合定义的类型就会报错,我的设计有问题么?这个怎么改?

解决方案 »

  1.   

    不是,是你的事件写错了,你是不是要验证你输入的类型是否符合标准
    应该在CEll_endEdit 事件中写你的事件啊,
      

  2.   

    问题是现在触发leave事件后不会再去判断cell值的类型,后面会出错,我问我这么设计是导致这个问题的原因么?该怎么修改?
      

  3.   

    CellEndEdit事件中没有e.Cancel属性啊,也没有e.FormattedValue
      

  4.   

    现在的问题是,我设置Cell的值类型为Int16时,我输入ffff,Leave事件每次都会抛出异常“输入的字符串格式不正确,不能在Value中存储<ffff>,所需类型为Int16”
      

  5.   

    我说的是在这个事件中限制datagridview的单元格内容
      

  6.   

    现在问题是这样的,如果修改了cell值焦点移到其他位置没问题,如果我修改完cell值去点击退出按钮就会报错:格式不正确,怎么让我点按钮之前也触发一次cellvalidating或cellendedit事件
      

  7.   

    我一直没搞明白CellValidate事件触发的条件是什么,经常莫名其妙的就触发这个事件。