更清潔爲此,我面臨同樣的問題,但我與仿製藥的工作。我已經使用了組合框的綁定上下文來擺脫這種情況。 (當你不知道綁定列表的大小時非常有用 - 在你的情況下它是5項)
在下面的代碼中,DisplayBindItem只是一個包含Key和Value的類。
List<DisplayBindItem> cust = (from x in _db.m01_customers
where x.m01_customer_type == CustomerType.Member.GetHashCode()
select new DisplayBindItem
{
Key = x.m01_id.ToString(),
Value = x.m01_customer_name
}).ToList();
cmbApprover1.BindingContext = new BindingContext();
cmbApprover1.DataSource = cust;
cmbApprover1.DisplayMember = "Value";
cmbApprover1.ValueMember = "Key";
//This does the trick :)
cmbApprover2.BindingContext = new BindingContext();
cmbApprover2.DataSource = cust ;
cmbApprover2.DisplayMember = "Value";
cmbApprover2.ValueMember = "Key";
該類供您參考。
public class DisplayBindItem
{
private string key = string.Empty;
public string Key
{
get { return key; }
set { key = value; }
}
private string value = string.Empty;
public string Value
{
get { return this.value; }
set { this.value = value; }
}
public DisplayBindItem(string k, string val)
{
this.key = k;
this.value = val;
}
public DisplayBindItem()
{ }
}
如果這能解決您的問題,請標記爲答案。
Thankyou GrandMaster。解決了。 – Alegro
很高興我能幫到你。 – GrandMasterFlush
根據ComboBox的數量和DataTable中的數據量,這可能會導致應用程序的內存佔用大量增加,這是由於數據的重複。 – cadrell0