나는 SelectionUnit="CellOrRowHeader"
으로 설정된 Datagrid를 가지고 있습니다.코드에서 소스로 편집 상태에있는 DataGrid 행
내 DataGrid가 TabControl의 컨텐트 영역에있는 상태에서 탭을 전환하면 현재 편집 된 행이 삭제됩니다.
현재 행의 DataRowView
을 얻었을 때 row?.EndEdit();
(키보드의 입력 히트에 의해 트리거되지만 수동으로 호출 할 수도 있음)을 호출하여 데이터를 소스로 업데이트 할 수 있습니다. 그러나, 나는 현재 DatarRowView
을 얻는 것을 보이지 않는다.
현재 편집 된 데이터를 모두 소스로 업데이트하도록 DataGrid에 알릴 수 있습니까? 내 접근 방식이 올바른지, 그렇다면 어떻게 현재를 얻을 수 있습니까 DataRowView
?
그렇지 않은 경우 DataGrid가 편집 모드를 끝내고 새 데이터를 원본으로 업데이트하도록 어떻게 말합니까?
나는 이것을 테스트했지만 그렇게하지는 않았다. DataGrid는 편집 모드로 유지됩니다. – rabejens
흠. 그것은 내가 필요한 것에 효과가있었습니다. 편집 모드를 유지하면 무엇을 의미합니까? 문제는 편집 모드를 종료하지 않고 소스로 업데이트하도록 강요하는 것입니다. 편집 모드를 종료하려면'Cell.EndEdit()'를 호출하면됩니다. – Mafii
아마도 내 문제는 약간 다릅니다. 거기에 몇 가지 데이터 그리드가있는 탭 컨트롤이 있고 탭을 전환 할 때 현재 편집중인 데이터 그리드에서 변경 내용을 적용하려고합니다. 간단히'tabControl.Focus()'를 사용하는 것은 저를 위해 속임수를 쓰지 않았습니다. 명시 적으로 각각의 DataGrid의 변경을 커밋해야했습니다. – rabejens