2013-04-30 2 views
0

C# (VS 2008)에서 WinForm 앱을 개발 중입니다.바인딩 된 ComboBoxCell의 값을 새로 고침

나는 DataTable (Fields)과 하나의 추가 열 (ComboBoxColumn)에 바인딩 된 DataGridView을 가지고 있습니다. 이것은 RefFieldName이라고하며, 동일한 필드로 묶여 있습니다. 이 DataGridView의 열 (RefFieldId)을 ComboBox에서 선택한 필드의 ID로 채 웁니다.

RefFieldId 셀이 이미 설정되어있는 경우 필드의 이름을 표시하는 것 외에는 모두 작동합니다. 내 ComboBox 셀에 RefFieldId의 ID가있는 필드의 이름을 표시해야합니다.

이렇게 ComboBox을 새로 고치려면 어떻게해야합니까?

+1

사용자 정의 콤보 상자의 데이터 소스는 무엇입니까? DataPropertyName을 통해 dtaatable의 원래 열 중 하나에 바인딩 했습니까? – Derek

+0

예! 그것은 내 데이터 집합의 테이블에서 열 RefFiedId에 바인딩됩니다. 물론 Field의 Name을 DisplayMember로 정의하고 Field의 ID를 ValueMember로 정의했습니다. –

답변

0

오키!

해결책을 찾았지만 예상 한만큼 우아하지 않습니다.

각 레코드에 대해 테이블의 모든 레코드를 검사하고 적합성을 찾는 방법을 작성했습니다. 그런 다음 이름을 업데이트 :

row.Cells["RefFieldName"].Value = refRow.Cells["FieldName"].Value; 

은 다음 이벤트 DataError를 처리하고 그에 대해 빈 메소드를 작성하는 것이 필요하다. 만약 누군가가 더 좋은 해결책을 안다면 위대 할 것입니다!

안부, 쿠바.