나는 같은 상황을 겪었고 그리드 값을 저장하기 위해 세이브 버튼에 단축키를 사용하기까지했다. DGV에서 잃어버린 저장 버튼 포커스를 클릭하면 셀 값이 커밋되지만 액셀러레이터 키를 사용하면 포커스가 DGV에서 손실되지 않으므로 셀 값이 커밋되지 않습니다.
호기심에서 Amit Karmakar 대답을보고 나면 그 대답을 시도했고 효과가있었습니다. 자세한 내용을 찾으려면 DGV 디버깅에 들어갔다가 저장 버튼 클릭에 사용하면 어떻게 든 작동하지 않는 commitedit과 실제로 동일하다는 것을 알았습니다.
DGV의 CurrentCell을 null로 설정하기 전에 null로 설정하기 전에 DGV가 먼저 편집 된 값을 가져 와서 셀 값으로 밀어 넣은 다음 CurrentCell REFERENCE를 null로 설정합니다. 여기에서 기본 DGV 셀을 null로 설정한다는 의미는 아닙니다. 따라서 위의 문제에 대해 완벽하게 작동합니다.
참고 : 셀에 대한 유효성 검사 이벤트가 있고 사용자가 유효하지 않은 유효하지 않은 데이터를 입력하면 유효성 검사를 실패 할 때이 솔루션이 완벽하게 작동하지 않을 수 있습니다. 이 경우 셀에 값을 전달할 수 없기 때문에 현재 셀을 null로 설정하는 작업도 실패합니다.
저는 Amit Karmakar가 어떻게 가능할 수 있는지 묻는 질문에 대해이 설명을했습니다. 다른 도움이 될지도 모른다고 생각 했으므로이 설명을 답으로 버렸습니다.
해답을 제공해 주셔서 감사합니다. –
기꺼이 도와 드리겠습니다. 이것을 당신의 받아 들인 해결책으로 표시 할 수 있습니까? –