2017-09-27 2 views
0
제목에 명시된 바와 같이

, 나는C 번호 : 동일한 테이블의 다른 열이 각각 여러 개의 콤보를 채우기는

내가 실제 소스가없는 동일한 테이블의 다른 열 콤보 상자를 채우는 몇 ​​가지 도움을 주셔서 감사합니다 것입니다 나하지만 난과 코드

SqlDataTable dt = new SqlDataTable(); 
SqlCommand comm = new SqlCommand(query, conn); 
SqlDataAdapter da = new SqlDataAdapter(); 
da.SelectCommand = comm; 
da.Fill(dt); 
myCMB.DataSource = dt; 
myCMB.DisplayMember = "display"; 
myCMB.ValueMember = "value; 

같은 것을 하나의 콤보 상자를 채울 수 있었다 그러나 나는 5 콤보를 가지고 있고, 나는 단지에 대한 코드의 5 배를 같은 블록을 반복하고 싶지 않았다. 그래서 나는 주위를 둘러 보았다 그래서 같은 BindingSource에하는 데이터 소스를 변경하는 등 일부 답변, 발견.

myCMB.DataSource = new BindingSource(da, "Column_Name"); 

하지만를 즉, 지정된 열 (의 첫 번째 항목의 각 문자와 콤보 상자를 채우는 것이 그렇게 첫 번째 항목의 경우 "Column_Name"은 ABCD, 내 콤보 상자 옵션은 A, B, C, D가 될 것입니다.)

그래서 나는 더 많은 해답을 찾고자했지만 어떤 것도 찾을 수 없었습니다. 내 콤보 상자를 채우는 더 효율적인 방법이 있습니까? 아니면 실제로 각각의 코드 줄을 본질적으로 반복해야합니까? 누구든지 도울 수 있다면, 크게 감사하겠습니다.

+0

을; myCMB.DisplayMember = "col1"; myCMB.ValueMember = "col2"; myotherCMB.DataSource = dt; myotherCMB.DisplayMember = "col3"; myotherCMB.ValueMember = "col4"; ' –

+0

"같은 테이블의 다른 열"이라고하면 데이터 테이블 또는 SQL 테이블을 의미합니다. – Amit

+0

늦은 답변에 사과드립니다. 그러나 정답을 주신 것에 대해 @ChetanRanpariya에게 감사드립니다. 나는 당신의 코멘트를 공식 답변으로 표시하는 방법을 모르겠다. –

답변

0

DataTable의 사본 사용 : myCMB.DataSource = DT`처럼 할 수 없습니다

SqlDataTable dt = new SqlDataTable(); 
SqlCommand comm = new SqlCommand(query, conn); 
SqlDataAdapter da = new SqlDataAdapter(); 
da.SelectCommand = comm; 
da.Fill(dt); 

myCMB.DataSource = dt.Copy(); 


myCMB.DisplayMember = "display"; 
myCMB.ValueMember = "value; 
관련 문제