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
    评论
一些老的控件的集合: ------------------------------------------------------------------ xtoolbar.zip 41K 作者: Jean-Philippe Bernardy. 很不错的工具条控件 armenutb.zip 33K 作者: Albert Research。 提供用TListView选择全部的 Menu Item的工具条控件 dfssatausbar.zip 36K 作者: Brad Stowers。 TDFSStatusBar 是加强版 TStatusBar 构件,能够在其内放置其他构件(可在IDE环境瞎直接拖放),提供显示键盘上( CAPS Lock、NUM Lock、SCROLL Lock) 的状态,并提供进度显示进度及当前时间日期等多项功能 dfstoolbar.zip 10K 作者: Brad Stowers。 TDFSToolBar 是增强型的 TToolBar 构件,提供类似 Netscape Communicator 般的工具条,能够放到最大化及还原 sfoutbar.zip 23K 作者: Sylvain Frere. 类似Microsoft Outlook控制条控件,功能有支持大小图标显示,平滑滚动,快捷键,多重选择等 tbargood.zip 44K 作者: Seth Taylor。 配置 TForm TiTle的控件,功能很多 colorbtn.zip 9K Windows95风格的选择颜色的按钮元件 bcolorbtn.zip 26K 作者: Brad Stowers. Windows95风格的选择颜色的按钮元件 explbtn.zip 37K 作者: Fabrice Deville 。 TExploreButton 是类似 Microsoft Internet Explorer 3.0 式样的 Speed Button gradbutt.zip 13K 作者: Harm TGradBtn 是能够显示渐变颜色的 TButton 构件,并能控制按钮上文字以多种立体样式显示 avhebchk.zip 13K 作者: Alex Zanis. 在右边显示选择勾的CHeckBox控件,适合从右到作的语言如阿拉伯语. amcbrb.zip 10K 作者: Alexander Meeder。 以BMP图片自定义显示外观的增强型 TRadioButton 及 TCheckBox 构件 noshape.zip 86K 作者: Michael Tran 能够照指定的BMP 图像外观直接变成按钮外观的增强型按钮构件,带Exe演示程序 hnoshape.zip 4K 能够照指定两个BMP 图像变成按钮外观的增强型按钮构件 btchkbox.zip 5K 增强型TCheckBox 构件,可以按不同的选取状态选择各自BMP图片 jcheck10.zip 12K 很漂亮的增强型TCheckBox 构件 lightchk.zip 2K 作者: Frederic Vanmol。 圆形 LED 类型的 TCheckBox 构件,可以加亮变暗. speedrol.zip 1K 可以根据Button不同状态(Up,Down,Over)显示不同图片,支持一个大Glyph分成三个按钮图. transrad.zip 2K 作者: Jason Looney. 透明Ridio Button torrybtn.zip 81K 作者: Maxim Peresada, Rob Schoenaker. TTorryButton 是增强型的 TSpeedButton 构件,外观如同一个普通的 TLabel 般,当鼠标移动至按钮上方,立即显示出按钮边框及加亮的LED 类型.带Exe演示程序 jcheck10.zip 12K 作者: Jan Hulala。 Windows98 外观的增强型 TCheckBox 构件. coolbtn.zip 2K 作者: Geert Vos。 TCoolButton2 是增强型的 TSpeedButton 构件,当鼠标移至其上方时按钮上的文字将会出现阴影 corelbtn.zip 2K 作者: Peter Theill。 提供类似 Corel 公司产品( Corel Photo Paint )的特殊样式按钮 mscheckb.zip 5K 作者: Vasily Kholopov. 增强型的 TBitBtn 构件,当被鼠标按下时能够改变 Glyphs 格式 .BMP 的显示内容 shakebtn.zip 36K 作者: Harm. Sh

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值