if (!classRegex.TestRegex(this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), classRegex.DateYmD))
    this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value ="";
// this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value =null;//想验证不成功,设它为空值,就是不行啊,不知各位碰到过没有,怎样处理???

解决方案 »

  1.   

    你的datagridview控件是绑定数据源还是不绑定。
    如果绑定就要在数据表的设计里面让这个字段可为null
    如果不绑定只要判断一下这个字段是否为空就行了。
      

  2.   

    应该是TestRegex方法的逻辑可能有问题
      

  3.   

    数据源绑定,可NULLTestRegex 应没问题,因为其它类型的可以啊如单元格原是空的,可以为空值,但原不是空值,修改值验证不过时,会返回原来值(我想要空值啊),闷死了
      

  4.   

    数据源绑定,可NULLTestRegex 应没问题,因为其它类型的可以啊如单元格原是空的,可以为空值,但原不是空值,修改值验证不过时,会返回原来值(我想要空值啊),闷死了
      

  5.   


      private void dataGridView1_CellValidated(object sender, DataGridViewCellEventArgs e)

    执行下中的一句
    this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value ="";
    // this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value =null; 
    最后用
      MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); 
    会得0001-1-1 00:00:00这个值,各位高手怎回事呀??