2011-12-27 3 views
0

dataGridView 셀의 유효성을 검사하는 데 문제가 있습니다. dataGridView (dataGridView)의 외부에있는 버튼 (데이터 저장 버튼)을 누르지 않으면 (즉, dataGridView은 포커스를 잃고 유효성을 검사하기 전에 버튼을 누름) 모든 것이 올바르게 작동합니다.DataGridView 유효성 검사가 작동하지 않습니다.

필요한 것은 DataGridView 셀의 값이 확인 될 때까지 버튼 (그리고 tabControl을 포함한 모든 다른 컨트롤)을 집중하고 누르지 않아도된다는 것입니다. 아무도 도와 줄 수 있습니까?

다음은이 코드에 버튼을 저장하고 유효성 검사가 끝나면 다음을 다시 활성화 코드 예제

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
    { 
     if (e.ColumnIndex > 0) // I only validate columns 1,2,3.... 
     { 
      try 
      { 
       dataGridView1.CurrentCell.Value = Convert.ToDouble(e.FormattedValue); 
      } 
      catch (Exception ex) 
      { 
       dataGridView1.CancelEdit(); 
       System.Media.SystemSounds.Hand.Play(); 
       e.Cancel = true; 
      } 

     } 
    } 

답변

0

안이다. 진행중인 데이터의 후 처리가 있음을 나타내는 진행 막대 또는 상태 표시 줄을 표시하십시오. 처리가 켜져있는 동안 항상 datagridview를 집중적으로 유지하십시오. 이런 일이 생길 때 플래그 (bool 플래그)를 설정하고이를 true로 설정하면 마우스 이동 및 키 누르기에서이를 확인하고 DataGridview 자체에 집중할 수 있습니다.

관련 문제