//初始化收货客户集合
        private void InitDealers(string CustomerSmplVch)
        {
            if (cbReceive.Items.Count > 0)
            cbReceive.Items.Clear();
            string strWhere = "";
            if (!string.IsNullOrEmpty(CustomerSmplVch))
            {
                strWhere+="  CustomerSmplVch='"+CustomerSmplVch+"' ";  
            }
            DataTable dt = dearBLL.GetList(strWhere);
            DataRow dr = dt.NewRow();
            dr["CustomerSmplVch"] = "0";
            dr["DealerCodeVch"] = "0";
            dr["DealerNameVch"] = "--请选择--";
            dt.Rows.InsertAt(dr,0);
            cbReceive.DataSource = dt.DefaultView;
            cbReceive.ValueMember = "DealerCodeVch";
            cbReceive.DisplayMember = "DealerNameVch";
        }
给combobox赋值调用此方法后,想重新给Combobox赋值,再次调用此方法,可cbReceive.Items.Clear();报错“值不在预期的范围内。”为什么啊?请大家帮帮忙,谢谢了,在线等combobox

解决方案 »

  1.   

      private void InitDealers(string CustomerSmplVch)
            {
                //if (cbReceive.Items.Count > 0)
                cbReceive.Items.Clear();
                cbReceive.UpdateLayOut(); //试试有没有这个方法先
                string strWhere = "";
      

  2.   


    没有cbReceive.UpdateLayOut(); 只有cbReceive.Update(),而且错误在 cbReceive.Items.Clear();还没到cbReceive.UpdateLayOut();这个就已经报错了
      

  3.   

    我就是想重新绑定Combobox,第一次运行这个函数行,为什么第二次就不行了了?cbReceive.Items有16个值,为什么cbReceive.Items.Clear();报错“值不在预期的范围内。”
      

  4.   

    不需要cbReceive.Items.Clear()  直接绑定
      

  5.   

    cbReceive.Items.Clear();  不要 换成 cbReceive.DataSource = null;