zoukankan      html  css  js  c++  java
  • DevExpress下拉多选框 CheckComboboxEdit、CheckedListBoxControl

    CheckComboboxEdit

             

              //清空项
                checkedComboBoxEdit1.Properties.Items.Clear();

                //自定义数组
                string[] strs=new string[]{"新建","审批中","已完成","已撤销"};
                //添加项
                checkedComboBoxEdit1.Properties.Items.AddRange(strs);

                //设置选中状态
                if(checkedComboBoxEdit1.Properties.Items.Count>0){
                    //设置选中状态
                    checkedComboBoxEdit1.Properties.Items[strs[0]].CheckState = CheckState.Checked;
                    //设置选项是否可用
                    checkedComboBoxEdit1.Properties.Items[strs[0]].Enabled = false;
                }
                //取值
                checkedComboBoxEdit1.EditValue.ToString();
                //获取各项值 放在List集合中
                List<object> List = checkedComboBoxEdit1.Properties.Items.GetCheckedValues();

                //注意 当取得值是多项时,各项之间的间隔是 英文状态下 逗号+空格
                //转换方法
                string result = checkedComboBoxEdit1.EditValue.ToString().Replace(", ", ",");

                //是否显示 确定、取消按钮
                checkedComboBoxEdit1.Properties.ShowButtons = false;
                //是否显示 取消按钮
                checkedComboBoxEdit1.Properties.ShowPopupCloseButton = false;

                //下拉显示项的个数 (设置为下拉个数加1正好可以显示全部,因为有一行是全选项)
                checkedComboBoxEdit1.Properties.DropDownRows = checkedComboBoxEdit1.Properties.Items.Count + 1;

    CheckedListBoxControl

            

              //自定义一个表
                DataTable dt = new DataTable();
                dt.Columns.Add("ID");
                dt.Columns.Add("Name");
                dt.Columns.Add("Sex");
                for (int i = 0; i < 30; i++) {
                    DataRow dr = dt.NewRow();
                    dr["ID"] = i + 1;
                    dr["Name"]=Convert.ToString((char)(65+i))+Convert.ToString((char)(65+i));
                    dr["Sex"] = i % 2==0?"男":"女";
                    dt.Rows.Add(dr);
                }
                //清空项
                checkedListBoxControl1.Items.Clear();

                //绑定
                checkedListBoxControl1.DataSource = dt;
                checkedListBoxControl1.ValueMember = "ID";
                checkedListBoxControl1.DisplayMember = "Name";

                //全选
                //checkedListBoxControl1.CheckAll();

                //项的个数
                int itemCount = checkedListBoxControl1.ItemCount;

                //添加项(如果设置绑定,添加项无效)
                checkedListBoxControl1.Items.Add("kk");

                //设置选中状态、显示值、实际值、是否可用(如果设置绑定,这些将会无效)
                checkedListBoxControl1.Items[0].CheckState = CheckState.Checked;
                checkedListBoxControl1.Items[0].Description = "显示值";
                checkedListBoxControl1.Items[0].Value = "实际值";
                checkedListBoxControl1.Items[0].Enabled = false;
                //效果和上面一样
                checkedListBoxControl1.SetItemChecked(0, true);
                checkedListBoxControl1.SetItemCheckState(0, CheckState.Checked);
                checkedListBoxControl1.SetItemValue("实际值",0);           

                //是否被勾选
               bool isChecked=  checkedListBoxControl1.GetItemChecked(0);
                //获取某项状态
               string checkState = checkedListBoxControl1.GetItemCheckState(0).ToString();
                //获取某项绑定值 valueMember
               string trueValue = checkedListBoxControl1.GetItemValue(0).ToString();
                //获取某项显示值   displayMember
               string disValue = checkedListBoxControl1.GetDisplayItemValue(0).ToString();
               string disValue2 = checkedListBoxControl1.GetItemText(0);

                //是否点击一次 就改变状态
               checkedListBoxControl1.CheckOnClick = true;

                //是否多列显示
               checkedListBoxControl1.MultiColumn = true;

                //checkedListboxControl 是否获得焦点
               bool isfocus=checkedListBoxControl1.ContainsFocus;

               //实现单选功能
                checkedListBoxControl1.SelectedIndexChanged += new EventHandler(checkedListBoxControl1_SelectedIndexChanged);
              
                //获取选中项的绑定值(前提:手动添加的可以获取,但是datatable绑定的无法获取)
               List<object> objList = checkedListBoxControl1.Items.GetCheckedValues();

           void checkedListBoxControl1_SelectedIndexChanged(object sender, EventArgs e)
            {
                int index=checkedListBoxControl1.SelectedIndex;
                for (int i = 0; i < checkedListBoxControl1.ItemCount; i++) {
                    if (i != index)
                    {
                        checkedListBoxControl1.SetItemChecked(i, false);
                    }
                }
            }

     #region public static void SetComboBoxData(DevExpress.XtraEditors.ImageComboBoxEdit comboBox,List<T> list, string valueMember, string displayMember, string selectedText = null)
            /// <summary>
            /// 绑定下拉框
            /// </summary>
            /// <param name="comboBox">下拉控件</param>
            /// <param name="List<T> ">实体集合</param>
            /// <param name="valueMember">值字段</param>
            /// <param name="displayMember">显示字段</param>
            /// <param name="selectedText">默认选中的值</param>
            public static void SetComboBoxData<T>(DevExpress.XtraEditors.ImageComboBoxEdit comboBox, List<T> list, string valueMember, string displayMember, string selectedText = null)//
            {
                comboBox.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
                comboBox.Properties.NullText = string.Empty;
             
                foreach (var item in list)
                {
                    comboBox.Properties.Items.Add(new ImageComboBoxItem(item.GetType().GetProperty(valueMember).GetValue(item, null).ToString(), item.GetType().GetProperty(valueMember).GetValue(item, null).ToString()));
                }
    
                // //这里是设置默认选中的值
                if (!string.IsNullOrEmpty(selectedText))
                {
                    comboBox.SelectedItem = comboBox.Properties.Items.GetItem(selectedText);
                }
            }
            #endregion

     http://www.cnblogs.com/spring_wang/archive/2013/05/11/3072640.html

    https://blog.csdn.net/xiaoyu812289718/article/details/43017755

    https://blog.csdn.net/u013816709/article/details/48159309

  • 相关阅读:
    高级数据结构实现——自顶向下伸展树
    优先队列——二项队列(binominal queue)
    优先队列——左式堆
    近似装箱问题(两种脱机算法实现)
    近似装箱问题(三种联机算法实现)
    Instruments
    CALayer之 customizing timing of an animation
    PKCS填充方式
    使用Xcode和Instruments调试解决iOS内存泄露
    apple网址
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/9118321.html
Copyright © 2011-2022 走看看