2012-05-10 2 views
0
나는이

DataGridView의 DisplayMember가 아닌 콤보 상자가 valueMember로 채워지고 있습니까?

EmployeeGrd.DataSource = SQLObject.sp_ViewEmployee(); 

콤보 상자 등이

cbDepartment.DataSource = SQLObject.Departments; 
      cbDepartment.DisplayMember = "Name"; 
      cbDepartment.ValueMember = "Id"; 

및 데이터의 gridview 같은 콤보 상자를 작성하고

는 그냥 "이름"을 포함 내 룩업 테이블 "부서"또 다른 테이블을 작성한다 및 "Id"데이터 격자보기에서 콤보 상자를 채울 때 부서 표의 "Id"를 포함하는 다른 테이블에서 오는 저장 프로 시저로 DataGridView가 채워지는 동안 콤보 상자에서 "ID"를 채우고 채울 필요가 있습니다 "이름"이 아닌 "이드"어떤 본문이 도움이 될 수 있습니까 ???

저는 이와 같이 콤보 상자를 채우고 있습니다.

comboBox1.SelectedText = dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); 
+0

마지막 줄의 코드가있는 이유를 설명해 주시겠습니까? 문제와 관련된 질문은 무엇입니까? 표시된 모든것이 멋지게 보입니다. datagridview의 콤보 상자 열에는 해당 데이터 소스의 속성 이름이 표시되어야합니다. 당신은 아마 DataPropertyName을 설정해야하지만 그것은 디스플레이에 영향을 줄 것이라고 생각하지 않습니다. –

+0

예 : 데이터 소스의 전체 점은 바운드 컨트롤을 채울 필요가 없다는 것을 의미합니다. –

+0

콤보 상자는 그리드 안에 있지 않습니다. 그 외부에 나는이 콤보 박스를 DataGrid에서 채워야 만합니다. 그리고 지금은 제가하고있는 일입니다. 왜냐하면 그 가치있는 멤버가 Display 멤버와 콤보 박스를 채우기 위해 필요하기 때문입니다. –

답변

1

DataGridView 셀은 여기에서 사용해야하는 속성 인 FormattedValue을 가지고 있습니다.

comboBox1.SelectedText = dataGridView1.SelectedRows[0].Cells[1].FormattedValue.ToString(); 
관련 문제