winform中下拉框动态赋值
当winform中下拉框中的数据是由数据库中的数据绑定的时候,我们再要求在其中加一项“全部”时,
我试了很多办法,才知道不能直接加值到下拉框,要在绑定之前加到集合中,再绑定到下拉框。例如
List<实体类>集合,要把“全部”先添加到集合中,再绑定才可以。
//数据绑定下拉框,要想添加数据,需要在集合中添加数据。(获得产品类别)
List<实体类> lst = RestS.Category(BaseInfo.Storeguid);
lst.Insert(0, new 实体类() { 字段名 = "全部" });
cmb.DisplayMember = "字段名";
cmb.ValueMember = "GUID";
cmb.DataSource = lst;
这时我们从另外一个窗体传值“字段名”过来,我们要下拉框首次进来的时候,正好显示这个“字段名”。可以用
这个字段先得到它的“GUID”,再把GUID直接赋给cmb.SelectedValue,就可以得到这个效果。例如:ProType是
从另外一个窗体传的字段值,lst是上面得到的集合。获得GUID的值赋给SelectedValue。
//首次加载赋值下拉框。
cmb.SelectedValue = lst.Where(n => n.字段名 == this.ProType).FirstOrDefault().GUID;
以上代码都写在Load事件中。