2015-10-27 59 views
0

您好,我正在编写一个应用程序,要求用户输入名字,姓氏和电话号码。这些值不能为空。编辑时在DataGridView单元格中强制非空值

我试图完成的是验证数据,如果值为空以选择有问题的单元格并强制它们进行编辑,或者它们将一遍又一遍地得到相同的错误。

数据得到适当检查,但单元格没有被重新选择并开始编辑。它只是选择验证后点击的任何单元格。这是我的代码。

private void datagridCustomers_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
{ 
    curCell = datagridCustomers.Rows[e.RowIndex].Cells[e.ColumnIndex]; 

    if (e.ColumnIndex == 0) 
    { 
     if (e.FormattedValue.ToString() == string.Empty) 
     { 
      MessageBox.Show("Test"); 
      datagridCustomers.CurrentCell = curCell; 
      curCell.Selected = true; 
      datagridCustomers.BeginEdit(true); 
     } 
    } 
} 

回答

1

设置事件的Cancel财产应该做的伎俩:它不会允许离开牢房

private void datagridCustomers_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
{ 
    if (e.ColumnIndex == 0 && e.FormattedValue.ToString() == string.Empty)  
     e.Cancel = true;  
} 
相关问题