2012-01-19 4 views
-1

안녕하세요 모두 난 다음에 문제가 :콤보 표시되지 않는 항목

foreach (DataRow dr in data.Tables[0].Rows) 
{ 
    string value = dr["name"].ToString(); 
    combobox.Items.Add(value);     
} 

내 값이 변수 가치를 받고 있지만 콤보 상자 목록에 점점되지 않습니다. 내가 할 수있는 모든 것?

+0

경우 페이지 licecyle에 해당하는거야? –

+0

콤보 상자에 데이터 소스가 있습니까? 그렇다면 직접 데이터 소스를 업데이트해야하며 콤보 상자는 직접 업데이트해야합니다. 마찬가지로 게시 된 코드에는 문제가 표시되지 않습니다. – LarsTech

+0

그래서이 방법으로 콤보 박스가 작동해야합니까? 이것은 n 계층 응용 프로그램입니다. 데이터 소스를 사용할 수 없으며 데이터 레이어에서 데이터 세트를 가져오고 있습니다. 이것이 내가이 유형의 코딩을 사용하는 이유입니다. 문제는 양식을 시작할 때 나는 콤보 박스를 얻지 못한다는 것이다. 그리고 디버깅을하고 데이터를 읽는 중입니다. – Denonth

답변

0

ComboBox에 value 및 displayMember 속성을 가진 개체를 추가해야합니다. 이러한 속성을 사용하여 구조체를 만든 다음 구조체의 인스턴스를 콤보 상자에 추가 할 수 있습니다.

struct NewItem 
{ 
    private string _displayMember; 
    private string _value; 
    public NewItem(string displayMember, string value) 
    { 
     _displayMember = displayMember; 
     _value = value; 
    } 
    public string DisplayMember 
    { 
     get 
     { 
      return _displayMember; 
     } 
    } 
    public string Value 
    { 
     get 
     { 
      return _value; 
     } 
    } 
} 

그런 다음 콤보에 인 newItem을 추가

foreach (DataRow dr in data.Tables[0].Rows)   
{    
    string value = dr["value"].ToString(); 
    string displayMember= dr["name"].ToString();    
    combobox.Items.Add(new NewItem(displayMember,value));       
} 
+0

물론 value와 displaymember가 동일해야한다는 제한이 없습니다. 나는 보통 ID의 값으로 사용하고 displaymemeber로서 이름을 사용한다. – Symphonicmind

+0

아직 아무것도 표시되지 않습니다. – Denonth

+0

웹 또는 Windows 형식입니까? – Symphonicmind