博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

winform中下拉框动态赋值

Posted on 2011-12-02 22:09  moss_tan_jun  阅读(5851)  评论(0编辑  收藏  举报
  当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事件中。