2013-05-26 4 views
3

글쎄 문제는 내가 dataGridView의 셀을 편집하고 Enter 키를 눌러 변경 사항을 제출할 때마다 현재 셀 선택 항목을 자동으로 열의 다음 셀로 이동한다는 것입니다. 반면에, 나는 그 행의 다음 셀로 이동하기를 원한다. 나는 코드 을 이미 작성했지만 기본 동작을 취소 할 수 없다. 그리고 행과 열을 모두 변경한다.DataGrid 셀 값 변경시 다음 셀 선택 취소

값 변경시 다음 열 셀로 선택 항목을 이동하는 DataGrid를 중지하는 방법에 대한 도움말은 무엇입니까?

미리 감사드립니다.

답변

1

플래그를 정의하고 편집이 발생할 때 발생시킬 수 있습니다 (CellEndEdit 이벤트). 그런 다음 SelectionChanged 이벤트에서이 플래그를 확인하고 플래그 값이 true 인 경우에만 새 위치를 설정합니다. ,

private bool flag_cell_edited; 

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) 
{ 
    flag_cell_edited = true; 
} 

private void dataGridView1_SelectionChanged(object sender, EventArgs e) 
{ 
    if (flag_cell_edited) { 
     DataGridViewCell cell = dataGridView1.Rows[0].Cells[0]; 
     dataGridView1.CurrentCell = cell; 
     //set flag value back to false 
     flag_cell_edited = false; 
    } 
} 
+0

는 2 선이 첫 번째 셀에 선택을 돌려 사용 O를 조금 수정 된 항목 : 예를 들어 나는 DataGridView의 첫 번째 셀에 현재 셀을 설정 아래의 코드에서

는 기본 동작을 방지 게시 그리고 그것은 매력처럼 작동했습니다. 사소한 문제를 제외하고 지금 일하고 있습니다. 고마워요 :) – Mitsosp