2013-07-09 61 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'。我四處搜尋,然後重組的代碼行,使cbo.DataSource來之前.DisplayMember和.ValueMember。它結束了看起來像這樣:

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

異常走。只是想我會分享。

回答

3

我時,我用的是內部類有varialbles「內部」發生這種情況。改變他們爲「公共」,它工作得很好。

0

一些屬性的屬性也導致此錯誤像[可瀏覽(假)]

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 - 顯示vlaue

cmbSklad.SelectedValue = 「1」;

相關問題