2010-03-09 3 views
0

DataTable에 바인딩 된 DataGridView가 있습니다. 바인딩이 완료되면 DGV의 모든 셀을 수동으로 검색하고 하나의 일반 DGV 셀을 DataGridViewComboBoxCell 인스턴스로 바꿉니다. 셀에는 자체 데이터 소스가 바인딩되어 있습니다..NET DataGridViewComboBoxCell 포커스가 손실 될 때의 동작

내가 겪고있는 문제는 사용자가 DataGridViewComboBoxCell 셀에서 선택을하고 떠날 때 표시되는 문자열이 DisplayMember ("Warehouse # 23"과 같은 것)에서 기본 ValueMember (예 : 23처럼). 셀을 다시 입력하면 DisplayMember 표시로 다시 전환됩니다 (등). 이 외에도 모든 것이 올바르게 작동합니다 (GUI를 사용할 수 있으며 선택 만 할 수 있으며 잘못 표시되는 경우 만 가능).

DataGridViewComboBoxCell 개체에이 동작을 제어하는 ​​속성이 있습니까? 또는이 문제는 일반 DGV 열에 수동으로 DataGridViewComboBoxCell을 이식하는 것으로부터 나입니까?

오, 내가 이것을하고있는 이유는 즉석에서 사용자 입력 GUI를 구성하는 간단한 방법이 필요하다는 것입니다. DataTable을 프로그래밍 방식으로 구성하고 DGV에 연결할 수 있습니다. DGV는 "GUI"를 구성하고 사용 가능하게 만듭니다. 머리글과 사용자 입력을 위해 하나의 열을 사용할 수 있습니다. 이제 표준 텍스트 셀 (기본적으로 텍스트 상자)뿐만 아니라 선택 중심의 콤보 상자 셀도 필요합니다.

답변

0

나는이 상황에서 스스로를 찾을 수있는 사람들을위한 해결책을 제시 할 것이다.

나는 실제 상황을 발견하지 못했지만 셀 내용을 수동으로 처리하여 상황을 해결할 수있었습니다. DataGridView의 CellFormatting 이벤트에 대한 이벤트 처리기를 구현하여이 작업을 수행 할 수 있습니다. 여기서 e.Value 속성을 표시 할 내용으로 설정합니다.

관련 문제