CheckedComboBoxEdit

 //设置数据源
  checkedComboBoxEditFacility.Properties.DataSource = Facility.GetList(factoryID);
  checkedComboBoxEditFacility.Properties.DisplayMember = "Name";
  checkedComboBoxEditFacility.Properties.ValueMember = "ID";
//得到选择项的ID字符串(逗号分隔)
 object items = processIDCheckedComboBoxEdit.Properties.GetCheckedItems();
 processIDCheckedComboBoxEdit.SetEditValue(string.Empty);//重置 
 processIDCheckedComboBoxEdit.Properties.Items.Clear();//清空数据源
 private void workshopCheckedComboBoxEdit_EditValueChanged(object sender, EventArgs e)
        {
            facilityCheckedComboBoxEdit.Clear();
            string factoryIDs = factoryCheckedComboBoxEdit.GetCheckedItemsValue();
            string workshopIds = workshopCheckedComboBoxEdit.GetCheckedItemsValue();
            if (factoryIDs != string.Empty  && factoryIDs.Split(',').Length == 1 )
            {//仅当选择一个车间时才加载生产线
                LoadFacility(factoryIDs, workshopIds);
            }
        }

//工厂选择事件

        private void cbFactory_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.LoadGroupNames();
            Factory factory = cbFactory.SelectedItem as Factory;
            if (factory != null)
            {
                LoadFacility(factory.ID);
            }
            else
            {
                checkedComboBoxEditFacility.Properties.DataSource = null;
            }
            foreach (CheckedListBoxItem item in checkedComboBoxEditFacility.Properties.Items)
            {
                item.CheckState = CheckState.Unchecked;
            }
        }

/// <summary>

        /// 获取资源包ID
        /// </summary>
        /// <returns></returns>
        private string GetFacilityID()
        {
            string ids = string.Empty;
            for (int i = 0; i < checkedComboBoxEditFacility.Properties.Items.Count; i++)
            {
                CheckedListBoxItem item = checkedComboBoxEditFacility.Properties.Items[i];
                if (item.CheckState == CheckState.Checked)
                {
                    if (ids == string.Empty)
                    {
                        ids = item.Value.ToString();
                    }
                    else
                    {
                        ids += string.Format(",{0}", item.Value);
                    }
                }
            }
           //没有选择任何项,则返回全部id列表字符串
            if (string.IsNullOrEmpty(ids))
            {
                List<Facility> list = checkedComboBoxEditFacility.Properties.DataSource as List<Facility>;
                if (list.Count > 0)
                {
                    ids = string.Join(",", list.Select(m => m.ID.ToString()).ToArray());
                }
            }
            return ids;
        }
  private void colorCheckedComboBoxEdit_EditValueChanged(object sender, EventArgs e)
        {
            object myColor = colorCheckedComboBoxEdit.Properties.GetCheckedItems();
            if (myColor != null && string.IsNullOrEmpty(myColor.ToString()) == false)
            {
                List<string> colorList =
 myColor.ToString().Replace(", ",",").Split(',').ToList();//必须的把空格替换掉
                colorList.ForEach(m =>m=m.Trim().ToUpper());
                foreach (PODetail model in m_SplitPOBll.PO.PODetailList)
                {
                    if (colorList.Contains(model.POColor.Trim().ToUpper()))
                    {
                        model.IsSelected = true;
                    }
                    else
                    {
                        model.IsSelected = false;
                    }
                }
                CalcSplitAmount();
            }
        }
 private void factoryNameCheckedComboBoxEdit_EditValueChanged(object sender, EventArgs e)
        {
            //当父数据源变更后,清空子关联的选择内容
            workshopCheckedComboBoxEdit.Properties.Items.Clear();
            string factoryIDs = factoryNameCheckedComboBoxEdit.Properties.GetCheckedItems().ToString();
            if (string.IsNullOrEmpty(factoryIDs) == false)
            {
                LoadWorkshop(factoryIDs);
            }
        }
//设置选择的默认值
string ids = string.Join(",", model.TechnologyColors.Select(c => c.CustomColorId));
colorCheckedComboBoxEdit.SetEditValue(ids);

扩展方法:

 public static class CheckedComboBoxEditExtension
    {
        /// <summary>
        /// 清空显示值和列表
        /// </summary>
        /// <param name="checkedComboBoxEdit"></param>
        public static void Clear(this CheckedComboBoxEdit checkedComboBoxEdit)
        {
            checkedComboBoxEdit.SetEditValue(string.Empty);
            checkedComboBoxEdit.Properties.Items.Clear();
        }

        /// <summary>
        /// 得到选择的值,即GetCheckedItems()
        /// </summary>
        /// <param name="checkedComboBoxEdit"></param>
        /// <returns></returns>
        public static string GetCheckedItemsValue(this CheckedComboBoxEdit checkedComboBoxEdit)
        {
            object items = checkedComboBoxEdit.Properties.GetCheckedItems();
            if (items != null && string.IsNullOrEmpty(items.ToString()) == false)
            {
                return items.ToString().Replace(", ", ",");
            }
            return string.Empty;
        }
    }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值