最近在项目中处理一个winForm中设定ComboBox值,奇怪的是用一个对象匹配ComboBox的Datasource集合的一个对象时,设置SelectedValue时,竟然得到SelectedValue为null。
网上搜索一下,有说是如果用DateSet绑定时,SelectedValue得到的是null或DataRowView。
后来反复实践,发现可以用以下方法实现:
private void SetValueByItem() { Area a = new Area(); a.Area_ID = "8"; a.Area_Name = "第8名"; cbList.SelectedItem = ac.FindAll(delegate(Area ar) { return ar.Area_ID == a.Area_ID; })[0]; lbResult.Text = cbList.SelectedItem.GetType().ToString() + ":" + cbList.SelectedValue.ToString(); }
其他两种设置方式:
private void SetValueByValue() { Area a = new Area(); a.Area_ID = "8"; a.Area_Name = "第8名"; cbList.SelectedValue = a.Area_ID;