2012-07-09 1 views
0
private void dataGridViewSales_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 
{ 
    if (this.dataGridViewSales.CurrentCell.ColumnIndex == 1) 
    { 
    ComboBox c = e.Control as ComboBox; 
    ((ComboBox)c).AutoCompleteSource = AutoCompleteSource.ListItems; 
    ((ComboBox)c).AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
    ((ComboBox)c).DropDownStyle = ComboBoxStyle.DropDown; 
    } 
} 

을 남겨 자동 완성 콤보 상자에서 내 선택을 한 후 위치를하여 문제가 있습니다 설정, 난 내 선택을 풀어 내가 Tab 키를 눌러서 콤보 박스 셀을 나갈 때. 때로는 선택 영역이 유지되고 선택 영역이 지워지면 정렬이 무작위로 발생합니다.세포 종료 또는 셀의 현재 값으로 콤보 상자의 드롭 다운 목록에서 강조 표시된 항목은 위의 코드와 함께

답변

0

CurrentCellDirtyStateChanged 이벤트를 처리하면 문제가 해결되었지만 다른 문제가 발생하지 않았 으면합니다.

private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e) 
     { 
      if (dataGridView1.IsCurrentCellDirty) 
      { 
       dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); 
      } 
     }