C#中ComboBox动态绑定赋值
?http://www.crifan.com/csharp_combobox_data_dynamic_binding/
C#中,已有一個(gè)List,想要?jiǎng)討B(tài)的,綁定到ComboBox中。
【解決過程】
1.參考:
c# winform comboBox動(dòng)態(tài)綁定數(shù)據(jù)
去試試代碼:
cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
結(jié)果是可以執(zhí)行,但是點(diǎn)擊combobox時(shí),下來菜單是空的。
2.參考:
C# Binding Generic LIst<string> to Combo Box
打算去試試。
3.經(jīng)過后來的折騰,找到原因了:
【已搞懂】C#中代碼加了斷點(diǎn),但是調(diào)試時(shí)卻無法執(zhí)行到
4.然后此處,實(shí)際上是,之前的寫法,就是正常的:
public struct categoryItem
{
public string Name { get; set; }
public string Url { get; set; }
};
List<categoryItem> generalCategoryList;
private void initSearchCategory()
{
generalCategoryList = new List<categoryItem>();
foreach (HtmlNode singleOptionNode in optionNodeList)
{
......
//store info
categoryItem singleCategoryItem = new categoryItem();
singleCategoryItem.Name = generalCategory;
singleCategoryItem.Url = singleCategoryUrl;
//add to list
generalCategoryList.Add(singleCategoryItem);
}
if (generalCategoryList.Count > 0)
{
//init search category
cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
}
}
然后ComboBox中就可以看到對(duì)應(yīng)的選項(xiàng)了:
?
【總結(jié)】
綁定的動(dòng)作,其實(shí)很簡(jiǎn)單:
cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
就可以了。
但是要注意:
此處,如果改為:
public struct categoryItem
{
public string name;
public string url;
};
List<categoryItem> generalCategoryList;
private void initSearchCategory()
{
generalCategoryList = new List<categoryItem>();
foreach (HtmlNode singleOptionNode in optionNodeList)
{
......
//store info
singleCategoryItem.name = generalCategory;
singleCategoryItem.url = singleCategoryUrl;
//add to list
generalCategoryList.Add(singleCategoryItem);
}
if (generalCategoryList.Count > 0)
{
//init search category
cmbSubCategory.DataSource = generalCategoryList;
cmbSubCategory.DisplayMember = "name";
cmbSubCategory.ValueMember = "url";
}
}
那么結(jié)果就錯(cuò)了,然后每一項(xiàng),就都是對(duì)應(yīng)的對(duì)象的名字了:
?
具體根本原因,暫時(shí)懶得去深究了。
轉(zhuǎn)載于:https://www.cnblogs.com/Echo529/p/6382179.html
總結(jié)
以上是生活随笔為你收集整理的C#中ComboBox动态绑定赋值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 感动要哭 撸了一个半小时的重载预算符高精
- 下一篇: c#基础 函数