0

datagridviewcomboboxcolumn이 포함 된 datagridview가 있습니다. DataGrid에 바인드되는 데이터 객체에는 값이 comboboxcolumn에 바인딩 된 데이터 소스 값에 매핑되는 속성이 포함됩니다.DataGridViewComboBoxColumn 문제 - DataError 이벤트가 발생하기 전에 데이터 오류 잡기

내 문제는 데이터 필드에서 유효한 comboboxcolumn 값으로 속성 값을 캐스팅하려고 시도 할 때 데이터 오류가 발생하는 등의 이유로 불량 데이터가 DB에서 검색되는 경우가 있습니다. 데이터 소스를 할당 할 때 보이는 것처럼 SET 메서드에서이를 catch 할 수 없습니다. SET 메서드를 자동으로 호출하지 않습니다.

데이터 오류가 발생하기 전에이를 잡을 수있는 이벤트가 있습니까? 또는 당신이 생각할 수있는 다른 해결책이 있습니까?

+0

DataError 이벤트가 트리거되기 전에 DataBindingComplete가 호출되지 않습니까? DataSource를 할당 할 때 데이터를 수정할 수 있다고 생각합니다. 나는 확실하지 않다. – Arie

답변

0

나는 최선의 방법은 잘못된 데이터를 걸러 내거나 정정하는 것이 좋다고 생각한다. 가장 좋은 방법은 시나리오에서 가장 좋은 장소 인 AFAIK인데,이 이벤트를 처리하지 않겠다는 뜻이 아닌지 잘 모르겠다면 DataError 자체를 처리하는 것입니다.

+0

내가 받고있는 예외는 "DataGridViewComboBoxCell 값이 유효하지 않습니다"입니다 ..... 내가하고 싶은 것은이 잘못된 값을 유효한 값으로 변환하는 것입니다. 가능한 경우 다른 유효한 문자열 인 빈 문자열을 할당하십시오. 내 combobox 데이터 소스의 값). DataError 이벤트를 사용하여 문제가이 오류는 내 표에서이 콤보 상자에서 구체적으로오고있다 경우에만이 변환을 시도 할 수 있습니다 : 어떤 열/값을 오류를 던져 찾을 수 있습니까? 그렇다면이 열에서 오류가 발생했는지 확인하고 값을 변환 한 다음 e.throwexception을 false로 설정하고 계속 진행할 수 있습니까? – Vivek

+0

지금 당장 올 수있는 유일한 방법은 데이터 삽입을 사용하지 않고 데이터 삽입/업데이트 및 유효성 검사를위한 고유 한 메서드를 만드는 것입니다. – gzaxx