2012-04-03 5 views
0

Microsoft Acess 데이터베이스에 연결된 Visual Studio 프로젝트에서 데이터 집합을 만들었습니다. 표의 특정 열 값을 콤보 상자 (즉, 드롭 다운 상자)의 항목으로 채 웁니다. 이를 위해 "empnames"라는 테이블 어댑터와 필요한 열만 선택하는 "GetDataByName()"메서드를 만들었습니다.

처음 시도했습니다.
comboBox1.ItemsSource = empnames.GetDataByName(). ToString();
이 경우 테이블 이름에 콤보 상자의 다른 항목으로 문자가 표시됩니다. 예를 들어 테이블 이름이 emp_data 인 경우 콤보 상자에 'e', ​​'m', 'p', 'd', 'a', 't', 'a'등 8 개의 항목이 있습니다. 올바른 결과를 얻을 수 있도록 도와주세요.데이터 집합의 열에서 데이터를 가져 와서 콤보 상자의 항목 채우기

감사

코드 :

private void Window_Loaded(object sender, RoutedEventArgs e) { 
SampleDataSetTableAdapters.Emp_dataTableAdapter empnames = new SampleDataSetTableAdapters.Emp_dataTableAdapter(); 
comboBox1.ItemsSource = empnames.GetDataByName(); 
} 


이 콤보 상자 항목을 채우는 방법에 대한 코드입니다. GetDataByName()은 테이블 어댑터 쿼리 구성 마법사를 사용하여 디자인되었습니다. 반환 유형은 데이터 테이블입니다.

+0

문자열을 ItemSource에 지정하면 컬렉션을 할당해야합니다. 당신은 8 개의 아이템을 얻고 있습니까? 몇 가지 코드를 게시하십시오. – SkonJeet

+0

열 값에서 컬렉션을 만들려면 어떻게해야합니까? – Abhilash

+0

그럼 정확히 * GetDataByName()이 반환합니까? 명부? 첫 번째 질문에 대한 답변에 따라 ToString() 확장을 제거하는 경우 일 수 있습니다. – SkonJeet

답변

2

DataTableItemsSource에 지정하고 DisplayMemberPath을 표시 할 열의 이름으로 설정해야합니다.

comboBox1.ItemsSource = empnames.GetDataByName(); 
comboBox1.DisplayMemberPath = "Name"; // assuming there is a "Name" column 
+0

코드와 함께 몇 가지 예를 들려 줄 수 있습니까? – Abhilash

+0

@Abhilash, 내 업데이트 된 답변보기 –

+0

와우. 그것은 효과가 있었다. 도와 주셔서 대단히 감사합니다. :) – Abhilash

관련 문제