2013-11-18 3 views
0

Microsoft Visual Studio 2010에 DataGridView가 있는데, 두 개의 charachter를 "I"및 "O"에 삽입하고 싶습니다. 하지만 KeyPress를 발사하면 다시 텍스 트된 텍스트가 셀에 표시되지 않습니다.DataGridView 셀에 값이 표시되지 않습니다.

무슨 문제 일 수 있습니까?

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 
    {    
     switch (treeView1.SelectedNode.Name) 
     { 
      case "PanelProperties": 

       e.Control.KeyPress -= new KeyPressEventHandler(Control_KeyPress); 
       e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress); 
       break; 
      default: 
       break; 
     }  
    } 

    private void Control_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     int columnIndex = dataGridView1.CurrentCell.ColumnIndex; 
     switch (columnIndex) 
     { 
      case 5: 
       if (!(e.KeyChar.Equals('i') || e.KeyChar.Equals('I')) && !(e.KeyChar.Equals('o') || e.KeyChar.Equals('O'))) 
        e.Handled = true; 
       else 
       { 
        if (e.KeyChar.Equals('i') || e.KeyChar.Equals('I')) 
         dataGridView1.CurrentCell.Value = "In"; 
        else 
         dataGridView1.CurrentCell.Value = "Out"; 
       } 
       break; 
      case 6: 
      case 7: 
       if (!(e.KeyChar.Equals('n') || e.KeyChar.Equals('N')) && !(e.KeyChar.Equals('y') || e.KeyChar.Equals('Y'))) 
        e.Handled = true; 
       else 
       { 
        if (e.KeyChar.Equals('n') || e.KeyChar.Equals('N')) 
         dataGridView1.CurrentCell.Value = "No"; 
        else 
         dataGridView1.CurrentCell.Value = "Yes"; 
       } 
       break; 
     } 
    }  

답변

0

단지 내 샘플 응용 프로그램에서 나를 위해이 그 작업을 시도하지 :

dataGridView1.CurrentCell.Value = "In";  
dataGridView1.EndEdit(); 
0

편집 된 변경 사항을 DataGrid보기에 커밋하십시오.

 if (dataGridView1.IsCurrentCellDirty) 
     { 
      dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); 
     } 
+0

더 사용, 그것은 표시되지 않은 내가 입력 할 때 "에서" "I", 또는 "아웃"때 "o"를 입력하고 나머지는 – nnmmss

+0

내 샘플 응용 프로그램에서이 기능을 사용해보십시오. dataGridView1.CurrentCell.Value = "In"; dataGridView1.EndEdit(); – Swati

관련 문제