방법: 데이터에 Windows Forms ComboBox 또는 ListBox 컨트롤 바인딩
ComboBox 및 ListBox를 바인딩하여 데이터베이스에서 데이터를 찾거나 새 데이터를 입력하거나 기존 데이터를 편집하는 등의 작업을 수행할 수 있습니다.
ComboBox 또는 ListBox 컨트롤을 바인딩하려면
DataSource 속성을 데이터 소스 개체로 설정합니다. 가능한 데이터 소스에는 데이터에 바인딩된 BindingSource, 데이터 테이블, 데이터 뷰, 데이터 집합, 데이터 뷰 관리자, 배열 또는 IList 인터페이스를 구현하는 모든 클래스 등이 있습니다. 자세한 내용은 Windows Forms에서 지원하는 데이터 소스를 참조하십시오.
테이블에 바인딩하는 경우에는 DisplayMember 속성을 데이터 소스에 있는 열 이름으로 설정합니다.
-또는-
IList에 바인딩하는 경우에는 표시 번호를 목록에 있는 형식의 공용 속성으로 설정합니다.
Private Sub BindComboBox() ComboBox1.DataSource = DataSet1.Tables("Suppliers") ComboBox1.DisplayMember = "ProductName" End Sub
private void BindComboBox() { comboBox1.DataSource = dataSet1.Tables["Suppliers"]; comboBox1.DisplayMember = "ProductName"; }
private void BindComboBox() { comboBox1.set_DataSource(dataSet1.get_Tables().get_Item( "Suppliers")); comboBox1.set_DisplayMember("ProductName"); }
참고
사용자가 ArrayList와 같은 IBindingList 인터페이스를 구현하지 않는 데이터 소스에 바인딩한 경우 데이터 소스가 업데이트되더라도 바인딩된 컨트롤의 데이터는 업데이트되지 않습니다. 즉, ArrayList에 바인딩된 콤보 상자가 있고 데이터가 ArrayList에 추가되는 경우 이러한 새 항목은 콤보 상자에 표시되지 않습니다. 그러나 컨트롤이 바인딩되는 BindingContext 클래스의 인스턴스에서 SuspendBinding 및 ResumeBinding 메서드를 호출하여 콤보 상자를 강제로 업데이트할 수 있습니다.