2009-06-26 3 views
2

데이터 세트를 사용하여 각 행에는 hasVersion()이라는 메서드가 있습니다.이 메서드는 해당 행의 원본 및 현재 버전의 복사본을 유지합니다. 원래 행 값 중 하나를 얻으려면 어떻게합니까?특정 버전의 데이터 세트 행을 얻으려면 어떻게해야합니까?

해당 행의 변경 사항을 거부하고 값을 확인할 수는 있지만 변경 사항을 잃지 않고 값을 읽는 것이 가능할 것이라고 생각합니다.

답변

4

특정 행을보고있는 경우 오버로드 중 하나를 통해 DataRowVersion 열거를 통해 특정 행의 값 버전을 가져올 수 있습니다 (예 :

SomeDataRow[0, DataRowVersion.Original] //by index 
SomeDataRow["ColumnName", DataRowVersion.Original] //by column name 

그와 함께, 당신은 데이터 테이블에 GetChanges() 방법을 사용할 수도 있습니다. DataRowState (귀하의 경우 DataRowState.Modified)을 전달한 다음 위의 값을 사용하여 변경된 행의 원래 값을 가져옵니다.

+0

마치 잘 작동해야하는 것처럼 보입니다. 테스트 해봐야 할 것 같습니다. datagridview의 데이터 소스로 강력한 형식의 데이터 테이블을 넣을 때 데이터 세트에 반영된 datagridview의 변경 사항이 있습니까? – Maslow

+1

예. 사실, 이것은 강력한 형식이 아닌 모든 DataSet/DataTable에 내재되어 있습니다. DataSet에는 변경 사항을 추적하는 diffgram이 들어 있습니다. DataTable에 바인딩 된 DataGridView가 있다고 가정하면 변경된 DataRow에 대해 DataRowState가 "Modified"가됩니다. –

+0

그냥해야 할 일 운영체제 질문은 "특정 버전의 데이터 세트 행"이었습니까? 데이터 행의 특정 열 버전이 아닙니다. r – Ken

관련 문제