2014-03-06 2 views
1

목록에 저장된 객체를 ComboBox에 바인딩해야합니다. 기본적으로 작업의 연속 집합에 대해 동적으로 ComboBox 항목의 목록을 업데이트해야합니다. 이건 내 코드입니다 :WPF 바인딩 객체를 combobox

class Broker 
    { 
    public List<Item> FillComboBox() 
    { 
     List<Item> itemList = new List<Item>(); 
     try 
     { 
      string sql = "SELECT * FROM Sklad"; 
      cmd = new SqlCommand(sql, connection); 
      connection.Open(); 

      System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader(); 
      while (reader.Read()) 
      { 
       Item item = new Item(); 

       item.Id = Convert.ToInt32(reader["Id"].ToString()); 
       item.Znacka = reader["Znacka"].ToString(); 
       item.Model = reader["Model"].ToString(); 
       item.Typ = reader["Typ"].ToString(); 
       item.Farba = reader["Farba"].ToString(); 
       item.Mnozstvo = Convert.ToInt32(reader["Mnozstvo"].ToString()); 
       item.NakupnaCena = Convert.ToDouble(reader["NakupnaCena"].ToString()); 
       item.PredajnaCena = Convert.ToDouble(reader["PredajnaCena"].ToString()); 

       itemList.Add(item); 
      } 
      return itemList; 
     } 
     catch (Exception eX) 
     { 
      MessageBox.Show(eX.Message); 
      return null; 
     } 
     finally 
     { 
      if (connection != null) 
      { 
       connection.Close(); 
      } 
     } 
} 

와 나는이 같은 주에 전화 :

private void FillComboBox() 
    { 
     cmbItems.ItemsSource = broker.FillComboBox(); 
    } 

을하고 분명히 아무것도하지 않는다. 내가 놓친 게 있니?

+0

FillCombobox가 실제로 아무것도 들어있는 목록을 반환하는지 확인하십시오. – ouflak

+0

테스트로서, 나는 item.ToString() 대신에 comboBox가 기본 타입으로 작동하는지 확인하기 위해 item.ToString()을 추가 할 것입니다. 그래서보십시오 itemList.Add (item.ToString()); 귀하의 콤보 상자가 단순히 귀하의 항목 유형을 렌더링하는 방법을 모를 수 있습니다. – ouflak

+1

ComboBox에 대한 XAML 표시 – Paparazzi

답변

0

코드가 올바르지 만 제 컴파일러가 혼란스러워서 문제가되었습니다. 간단한 재개발 솔루션이 도움이되었습니다!

관련 문제