2013-07-09 6 views
1

Visual Studio 2010에서 C#을 사용하고 있습니다. 데이터베이스에서 데이터를 가져 오는 2 개의 콤보 상자가 있습니다. 코드는 다음과 같이 보입니다.'새 값 구성원에 바인딩 할 수 없습니다. 매개 변수 이름 : newDisplayMember '.

 cbo1.DisplayMember = "Name"; 
     cbo1.ValueMember = "HROfficeLocationID"; 
     cbo1.DataSource = offices; 
     cbo2.DisplayMember = "Name"; 
     cbo2.ValueMember = "HROfficeLocationID"; 
     cbo2.DataSource = offices; 

계속 새로운 가치 구성원에 바인딩 할 수 없습니다. 매개 변수 이름 : newDisplayMember '. .DisplayMember 및 .ValueMember .IT 이런 식으로 뭔가를 찾고 결국 전에 cbo.DataSource 온 있도록 내가 주변에 다음 코드 행을 개편 검색 : 예외 멀리 갔다

 cbo1.DataSource = offices; 
     cbo1.DisplayMember = "Name"; 
     cbo1.ValueMember = "HROfficeLocationID"; 
     cbo2.DataSource = offices; 
     cbo2.DisplayMember = "Name"; 
     cbo2.ValueMember = "HROfficeLocationID"; 

. 그냥 내가 나누겠다고 생각 했어.

답변

3

내가 내부 클래스를 사용할 때이 오류가 발생했습니다. "내부"로 varialbles가 있습니다. 그들을 "공개"로 변경하고 정상적으로 작동했습니다.

1

아닌, 예를 들면 클래스 변수로하는 속성으로 지정 등이 오류

public class projectData 
{ 
    public string ProjName { get; set; } 
    public string ProjId { get; set; } 
} 


List<projectData> projects = getProjects(); 


lBoxFDTProjects.DataSource = projects; 

lBoxFDTProjects.ValueMember = "ProjId"; 
lBoxFDTProjects.DisplayMember = "ProjName"; 
0
public class CmbStringItem 
{ 

    public CmbStringItem(string text, string val) 
    { 
     Text = text; 
     Value = val; 
    } 

    private string text; 

    public string Text 
    { 
     get {return text;} 
     set {text = value;} 
    } 
    private string val; 

    [System.ComponentModel.BrowsableAttribute(true)] // must use 
    public string Value 
    { 
     get {return val;} 
     set {val = value;} 
    } 

    public override string ToString() 
    { 
     return Text; 
    } 
} 

발생할 특성
 List<CmbStringItem> items = new List<CmbStringItem>(); 
     items.Add(new CmbStringItem("Onula", "0")); 
     items.Add(new CmbStringItem("Jedna", "1")); 
     items.Add(new CmbStringItem("Dva", "2")); 
     items.Add(new CmbStringItem("Tri", "3")); 

     this.cmbSklad.DataSource = items; 

     this.cmbSklad.ValueMember = "Value"; 
     this.cmbSklad.DisplayMember = "Text"; 
     this.cmbSklad.SelectedIndex = 0; 

// Chombobox 설정 - 그래프 표시

cmbSklad.SelectedValue = "1";