我在DataGridView的一个单元格里输入了一个数字,比如1000,然后我要在鼠标点选其他单元格,或者在点击回车(总之是让刚编辑的这个单元格失去焦点)的时候Format其中的字符串,要得到1,000.00的效果,于是我在DataGridView的CellEndEdit事件调用了Format其中字符串的方法,但是只能在点击回车的时候Format,而鼠标点选其他单元格就会引发异常,异常信息为"对象不能从DBNull 转换为其他类型",然后刚刚填写的单元格中的值就不会被Format,即仍然是“1000”,请问各位,有什么办法能解决这个问题么?

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridview.cellbeginedit(VS.80).aspx
    看一下这个
      

  2.   

    你可以不在那个事件里写,写在leave事件里比较好!首先你要判断这个单元格内有没有数据
    因为有的时候你的焦点还停留在你刚刚输入数据的单元格内的时候,取数据的话,会是一个null的
    异常之后,你的format这行代码就没有走,所以不会被格式化
      

  3.   

    问题解决了,并不是用事件的问题,而是要Format的单元格的选择问题…………真是汗颜…………不过还是谢谢楼上的2位了!
      

  4.   

    兄弟 你是 怎么Format 的  我现在遇到的问题就   我只想让这个单元格输入数字 不让输入字符串 怎么办?