精华内容
下载资源
问答
  • C# ComboBox 下拉选项框
    万次阅读 多人点赞
    2019-01-15 14:08:51

    1 命名空间及继承

    命名空间1:System.Windows.Forms

    继承1:ObjectMarshalByRefObjectComponentControlListControl→ComboBox

    命名空间2:System.Windows.Controls

    继承2:

    ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlItemsControlSelector→ComboBox

    2 ComboBox属性及事件

    (1)DropDownStyle(组合框样式属性):①DropDown(默认)下拉框可编辑。②Simple:简单组合框。③DropDownList:下拉框不可编辑。具体样式如下所示:

     (2)DataSource(数据源属性):设置cmb的数据源。以下为代码添加cmb数据源并添加到Form窗体中。

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //数据源为一个string数组
            string []daysOfWeek =
                new[]{ "Monday", "Tuesday", "Wednesday", 
                       "Thursday", "Friday", "Saturday", 
                       "Sunday" };
    
             // 初始化cmb
             ComboBox cmb = new ComboBox();
             cmb.DataSource = daysOfWeek;
             cmb.Location = new System.Drawing.Point(12, 12);
             cmb.Name = "comboBox";
             cmb.Size = new System.Drawing.Size(166, 21);
             cmb.DropDownStyle = ComboBoxStyle.DropDownList;
    
             // 添加cmb到Form中
             this.Controls.Add(cmb);
        }
    }

    (3)Items(项目集合属性):获取一个对象,该对象表示此 ComboBox 中所含的项的集合。可以使用以下方法添加少量item项:

    private void addButton_Click(object sender, System.EventArgs e) {
       cmb.Items.Add(textBox1.Text);
    }

    (4) SelectedIndex:获取或设置 ComboBox 中当前选定的项索引。

    (4) SelectedItem:获取或设置 ComboBox 中当前选定的项。

    (6)//SelectedText:获取或设置 ComboBox 的可编辑部分中选定的文本。

    (7)//SelectedValue:获取或设置由 ValueMember 属性指定的成员属性的值(仅在绑定数据源时,设置了ValueMember时才可以用)。

    (8)Text:获取或设置与此控件关联的文本。

    常用事件:SelectedIndexChanged()

    3 ComboBox之Items

    (1)cmb.Items.Count:获取集合中的项数。

    (2)cmb.Items.Add(Object item):向 ComboBox 的项列表添加项。

    (3)cmb.Items.AddRange(Object[]):向 ComboBox 的项列表添加项的数组。

    (4)cmb.Items.Clear():从 ComboBox 中移除所有项。

    (5)cmb.Items.Contains(Object item):确定指定项是否位于集合内。

    (6)cmb.Items.IndexOf(Object item):检索指定的项在集合中的索引。

    (7)cmb.Items.Insert(int,Object item):将一项插入集合中指定索引处。

    (8)cmb.Items.Remove(int,Object item):从 ComboBox 中删除指定的项。

    (9)cmb.Items.RemoveAt(int):移除 ComboBox 中指定索引处的项。

    (10)cmb.Items.ToString():返回表示当前对象的字符串。

    4 参考

    1.ComboBox.ObjectCollection Class

     

    更多相关内容
  • 主要为大家详细介绍了EasyUI学习之Combobox下拉列表的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文为大家详细介绍下Ext中下拉列表ComboBox组件store数据格式的基本用法,感兴趣的朋友可以参考下哈,希望对大家有所帮助
  • combobox:js模拟下拉框

    2021-05-14 02:43:39
    combobox js模拟下拉框 使用 只需在jquery后引入jquery.validation文件 [removed][removed] [removed][removed] 初始化 选择元素调用combobox方法传入配置项 $('select').combobox(options); 方法 调用方式 //选择...
  • 一、实现效果 1.1、Winform的Combox下拉框效果 1.2、Dev中Winform的ComboxEdit与LookUpEdit下拉框效果 ...* 1、给comboBox组件添加信息和获取选中的信息 * Date:2021 * Version:0.1版本 * Author:Coff.

    一、实现效果

    1.1、Winform的Combox下拉框效果

     1.2、Dev中Winform的ComboxEdit与LookUpEdit下拉框效果

    二、实现核心

    2.1、Winform的Combox下拉框

    /***
    *	Title:"Winfrom" 项目
    *		主题:Winform的UI帮助类
    *	Description:
    *		功能:
    *		    1、给comboBox组件添加信息和获取选中的信息
    *	Date:2021
    *	Version:0.1版本
    *	Author:Coffee
    *	Modify Recoder:
    */
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Utils
    {
        class WinformUIHelper
        {
            #region   ComboxEdit组件
    
            /// <summary>
            /// 给Combox组件添加内容
            /// </summary>
            /// <param name="comboBox">comboBox组件</param>
            /// <param name="infoList">信息列表</param>
            /// <param name="showFirstValue">是否显示第一个值(true:表示显示)</param>
            /// <returns>返回添加结果(true:表示添加成功)</returns>
            public static bool AddInfoToCombox(ComboBox comboBox, List<string> infoList,
                bool showFirstValue = true)
            {
                bool result = false;
                if (infoList != null && infoList.Count > 0)
                {
                    comboBox.Items.Clear();
                    comboBox.DataSource = infoList;
                    //默认显示第一个值
                    if (showFirstValue)
                    {
                        comboBox.SelectedIndex = 0;
                    }
                    else
                    {
                        comboBox.SelectedIndex = -1;
                    }
    
                    result = true;
                }
                return result;
            }
    
            /// <summary>
            /// 给Combox组件添加键值对内容
            /// </summary>
            /// <param name="comboBox">comboBox组件</param>
            /// <param name="infoDic">信息键值对</param>
            /// <param name="showFirstValue">是否显示第一个值(true:表示显示)</param>
            /// <returns>返回添加结果(true:表示添加成功)</returns>
            public static bool AddInfoToCombox(ComboBox comboBox, Dictionary<string, string> infoDic,
                bool showFirstValue = true)
            {
                bool result = false;
                if (infoDic != null && infoDic.Count > 0)
                {
                    comboBox.Items.Clear();
                    BindingSource bs = new BindingSource();
                    bs.DataSource = infoDic;
    
                    comboBox.DataSource = bs;
                    //实际要用的字段
                    comboBox.ValueMember = "Key";
                    //展示的字段
                    comboBox.DisplayMember = "Value";
                    //默认显示第一个值
                    if (showFirstValue)
                    {
                        comboBox.SelectedIndex = 0;
                    }
                    else
                    {
                        comboBox.SelectedIndex = -1;
                    }
    
                    result = true;
                }
                return result;
            }
    
            /// <summary>
            /// 给Combox组件添加键值对内容
            /// </summary>
            /// <typeparam name="T">实体</typeparam>
            /// <param name="comboBox">Combox组件</param>
            /// <param name="listModel">实体列表</param>
            /// <param name="idFieldName">id字段名称</param>
            /// <param name="displayInfoFieldName">显示的字段名称</param>
            /// <param name="showFirstValue">是否显示第一个值(true:表示显示)</param>
            /// <returns>返回添加结果(true:表示添加成功)</returns>
            public static bool AddInfoToCombox<T>(ComboBox comboBox, List<T> listModel,
               string idFieldName,string displayInfoFieldName, bool showFirstValue = true)
            {
                bool result = false;
                if (listModel != null && listModel.Count>0)
                {
                    comboBox.Items.Clear();
    
                    comboBox.DataSource = listModel;
                    comboBox.ValueMember = idFieldName;
                    comboBox.DisplayMember = displayInfoFieldName;
                    //默认显示第一个值
                    if (showFirstValue)
                    {
                        comboBox.SelectedIndex = 0;
                    }
                    else
                    {
                        comboBox.SelectedIndex = -1;
                    }
    
                    result = true;
                }
                return result;
            }
    
            /// <summary>
            /// 获取Combox组件当前选择的内容
            /// </summary>
            /// <param name="comboBox">comboBox组件</param>
            /// <returns>返回当前选择的键值对</returns>
            public static Dictionary<string, string> GetComboxInfoOfSelected(ComboBox comboBox)
            {
                Dictionary<string, string> tmpDic = new Dictionary<string, string>();
                if (comboBox!=null)
                {
                    if (comboBox.SelectedItem!=null)
                    {
                        string keyValue = comboBox.SelectedItem.ToString();
                        string key = comboBox.SelectedValue.ToString();
                        string value = comboBox.Text;
                        tmpDic.Add(key, value);
                    }
                }
                return tmpDic;
            }
    
         
    
            #endregion 
    
    
    
    
        }//Class_end
    
    }
    

    2.2、Dev中Winform的ComboxEdit与LookUpEdit下拉框

    /***
    *	Title:"Winfrom" 项目
    *		主题:Winform的UI帮助类
    *	Description:
    *		功能:
    *		    1、给comboBox组件添加信息和获取选中的信息
    *		    2、给lookUpEdit组件添加信息和获取选中的信息
    *	Date:2021
    *	Version:0.1版本
    *	Author:Coffee
    *	Modify Recoder:
    */
    
    using DevExpress.XtraEditors;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Utils
    {
        class WinformUIHelper
        {
    
            #region   ComboxEdit组件
    
            /// <summary>
            /// 给ComboxEdit组件添加内容
            /// </summary>
            /// <param name="comboBoxEdit">comboBoxEdit组件</param>
            /// <param name="infoList">信息列表</param>
            /// <param name="showFirstValue">是否显示第一个值(true:表示显示)</param>
            /// <returns>返回添加结果(true:表示添加成功)</returns>
            public static bool AddInfoToComboxEdit(ComboBoxEdit comboBoxEdit, List<string> infoList,
                bool showFirstValue = true)
            {
                bool result = false;
                if (infoList != null && infoList.Count > 0)
                {
                    comboBoxEdit.Properties.Items.Clear();
                    foreach (var item in infoList)
                    {
                        comboBoxEdit.Properties.Items.Add(item);
                    }
                    //默认显示第一个值
                    if (showFirstValue)
                    {
                        comboBoxEdit.SelectedIndex = 0;
                    }
                    else
                    {
                        comboBoxEdit.SelectedIndex = -1;
                    }
    
                    result = true;
                }
                return result;
            }
    
    
            /// <summary>
            ///是否禁用ComboxEidt手动输入
            /// </summary>
            public static void IsDisableInputOfComboxEdit(bool isDisable=true)
            {
                if (isDisable)
                {
                    comboBoxEdit_PageSize.Properties.TextEditStyle =   TextEditStyles.DisableTextEditor;
                 
                }
                else
                {
                   comboBoxEdit_PageSize.Properties.TextEditStyle = TextEditStyles.Standard;
                    
                }
            }
    
    
    
            /// <summary>
            /// 给LookupEdit组件添加内容
            /// </summary>
            /// <param name="lookUpEdit">lookUpEdit组件</param>
            /// <param name="infoDic">信息字典</param>
            /// <param name="matchFieldName">匹配自动搜索的字段</param>
            /// <param name="manualInput">手动输入(true:表示开启)</param>
            /// <param name="showFirstValue">是否显示第一个值(true:表示显示)</param>
            /// <returns></returns>
            public static bool AddInfoToLookupEdit(LookUpEdit lookUpEdit,Dictionary<string,string> infoDic,
                string matchFieldName="",bool manualInput=true,bool showFirstValue=true)
            {
                bool result = false;
                if (infoDic!=null && infoDic.Count>0)
                {
                    lookUpEdit.Properties.DataSource = infoDic;
                    //实际需要使用的字段
                    lookUpEdit.Properties.ValueMember = "Key";
                    //显示的字段
                    lookUpEdit.Properties.DisplayMember = "Value";
                    //自动搜索datasouse,选择与之匹配的值,没有的情况下赋值null ,value的值必须与valuemember的数据类型一致。
                    lookUpEdit.EditValue = matchFieldName;
    
                    //自适应宽度
                    lookUpEdit.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
                    //默认允许手动输入
                    if (manualInput)
                    {
                        lookUpEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
                    }
                    else
                    {
                        lookUpEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
                    }
    
                    //默认显示第一个值
                    if (showFirstValue)
                    {
                        lookUpEdit.ItemIndex = 0;
                    }
                    else
                    {
                        lookUpEdit.Properties.NullText = "";
                        lookUpEdit.ItemIndex = -1;
                    }
                    result = true;
                }
                return result;
            }
    
    
            /// <summary>
            /// 给LookupEdit组件添加内容
            /// </summary>
            /// <param name="lookUpEdit">lookUpEdit组件</param>
            /// <param name="tmpList">信息字典</param>
            /// <param name="matchFieldName">匹配自动搜索的字段</param>
            /// <param name="manualInput">手动输入(true:表示开启)</param>
            /// <param name="showFirstValue">是否显示第一个值(true:表示显示)</param>
            /// <returns></returns>
            public static bool AddInfoToLookupEdit<T>(LookUpEdit lookUpEdit, List<T> tmpList,
                string matchFieldName = "", bool manualInput = true, bool showFirstValue = true)
            {
                bool result = false;
                if (tmpList != null && tmpList.Count > 0)
                {
                    lookUpEdit.Properties.DataSource = tmpList;
                    //实际需要使用的字段
                    lookUpEdit.Properties.ValueMember = "Key";
                    //显示的字段
                    lookUpEdit.Properties.DisplayMember = "Value";
                    //自动搜索datasouse,选择与之匹配的值,没有的情况下赋值null ,value的值必须与valuemember的数据类型一致。
                    lookUpEdit.EditValue = matchFieldName;
    
                    //自适应宽度
                    lookUpEdit.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
                    //默认允许手动输入
                    if (manualInput)
                    {
                        lookUpEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
                    }
                    else
                    {
                        lookUpEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
                    }
    
                    //默认显示第一个值
                    if (showFirstValue)
                    {
                        lookUpEdit.ItemIndex = 0;
                    }
                    else
                    {
                        lookUpEdit.Properties.NullText = "";
                        lookUpEdit.ItemIndex = -1;
                    }
                    result = true;
                }
                return result;
            }
    
    
            /// <summary>
            /// 给LookupEdit组件添加模型内容
            /// </summary>
            /// <typeparam name="T">模型</typeparam>
            /// <param name="lookUpEdit">lookUpEdit组件</param>
            /// <param name="tmpList">模型列表</param>
            /// <param name="modelFieldNameList">模型字段名称列表</param>
            /// <param name="modelFieldStartIndex">模型字段的起始索引</param>
            /// <param name="displayFieldName">下拉框显示内容的字段名称</param>
            /// <param name="valueFieldName">下拉框显示内容实际对应使用的字段名称</param>
            /// <param name="matchFieldName">下拉框搜索匹配的字段名称</param>
            /// <param name="manualInput">手动输入(true:表示开启)</param>
            /// <param name="showFirstValue">是否显示第一个值(true:表示显示)</param>
            /// <returns></returns>
            public static bool AddModelInfoToLookupEdit<T>(LookUpEdit lookUpEdit, List<T> tmpList,
                List<string> modelFieldNameList,int modelFieldStartIndex,
                string displayFieldName,string valueFieldName,string matchFieldName = "", 
                bool manualInput = true, bool showFirstValue = true)
            {
                bool result = false;
                if (tmpList != null && tmpList.Count > 0 && 
                    modelFieldNameList!=null && modelFieldNameList.Count>0)
                {
                    lookUpEdit.Properties.DataSource = tmpList;
                    //实际需要使用的字段
                    lookUpEdit.Properties.ValueMember = valueFieldName;
                    //显示的字段
                    lookUpEdit.Properties.DisplayMember = displayFieldName;
                    //自动搜索datasouse,选择与之匹配的值,没有的情况下赋值null ,value的值必须与valuemember的数据类型一致。
                    lookUpEdit.EditValue = matchFieldName;
    
                    //自适应宽度
                    lookUpEdit.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
    
                    //填充列
                    lookUpEdit.Properties.PopulateColumns();
                    //设置列属性
                    int count = (modelFieldStartIndex+modelFieldNameList.Count);
                    for (int i = modelFieldStartIndex; i < count; i++)
                    {
                        //lookUpEdit.Properties.Columns[0].Visible = false;
                        lookUpEdit.Properties.Columns[i].Caption = modelFieldNameList[i];
                    }
    
                    //lookUpEdit.Properties.Columns[1].Width = 120;
                    //lookUpEdit.Properties.Columns[2].Width = 300;
    
                    控制选择项的总宽度
                    //lookUpEdit.Properties.PopupWidth = 200;
    
                    //默认允许手动输入
                    if (manualInput)
                    {
                        lookUpEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
                    }
                    else
                    {
                        lookUpEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
                    }
    
                    //默认显示第一个值
                    if (showFirstValue)
                    {
                        lookUpEdit.ItemIndex = 0;
                    }
                    else
                    {
                        lookUpEdit.Properties.NullText = "";
                        lookUpEdit.ItemIndex = -1;
                    }
                    result = true;
                }
                return result;
            }
    
    
            /// <summary>
            /// 获取comboBoxEdit组件当前选择的内容
            /// </summary>
            /// <param name="comboBoxEdit">comboBoxEdit组件</param>
            /// <returns>返回当前选择的键值对</returns>
            public static Dictionary<string, string> GetComboxInfoOfSelected(ComboBoxEdit comboBoxEdit)
            {
                Dictionary<string, string> tmpDic = new Dictionary<string, string>();
                if (comboBoxEdit != null)
                {
                    if (comboBoxEdit.SelectedItem != null)
                    {
                        string key = comboBoxEdit.EditValue.ToString();
                        string value = comboBoxEdit.Text.Trim();
                        tmpDic.Add(key, value);
                    }
                }
                return tmpDic;
            }
    
            /// <summary>
            /// 获取lookUpEdit组件当前选择的内容
            /// </summary>
            /// <param name="lookUpEdit">lookUpEdit组件</param>
            /// <returns>返回当前选择的键值对</returns>
            public static Dictionary<string, string> GetLookUpEditInfoOfSelected(LookUpEdit lookUpEdit)
            {
                Dictionary<string, string> tmpDic = new Dictionary<string, string>();
                if (lookUpEdit != null)
                {
                    if (lookUpEdit.EditValue != null)
                    {
                        string key = lookUpEdit.EditValue.ToString();
                        string value = lookUpEdit.Text.Trim();
                        tmpDic.Add(key, value);
                    }
                }
                return tmpDic;
            }
    
    
            #endregion
    
    
    
        }//Class_end
    
    }
    

    三、使用方法

    3.1、Winform的Combox下拉框

    ①引用命名空间【using Utils;】

    ②添加内容到下拉组件中

            #region   UI
    
            /// <summary>
            /// 添加列表信息到下拉框中
            /// </summary>
            private void AddListInfoToCombox()
            {
                List<string> tmpList = new List<string>();
                for (int i = 0; i < 3; i++)
                {
                    tmpList.Add($"内容{i}");
                }
    
                WinformUIHelper.AddInfoToCombox(comboBox_UI,tmpList);
            }
    
            /// <summary>
            /// 添加键值对信息到下拉框中
            /// </summary>
            private void AddDicInfoToCombox()
            {
                Dictionary<string, string> tmpDic = new Dictionary<string, string>();
                for (int i = 0; i < 3; i++)
                {
                    string key = $"0076yurdkh0{i}";
                    string value = $"车间{i}";
                    tmpDic.Add(key,value);
                }
    
                WinformUIHelper.AddInfoToCombox(comboBox_UI2, tmpDic);
            }
    
            /// <summary>
            /// 添加实体信息到下拉框中
            /// </summary>
            private void AddModelInfoToCombox()
            {
                List<people> peoples = new List<people>()
                {
                   new people("20346584368001","杨思思",25,"女","3536728921@qq.com","测试地址1","高级人事经理"),
                   new people("20346584368002","张茜",23,"女","3536728922@qq.com","测试地址2","产品经理"),
                   new people("20346584368003","张伊伊",23,"女","3536728923@qq.com","测试地址3","销售经理"),
                };
    
                people people = new people();
                WinformUIHelper.AddInfoToCombox<people>(comboBox_UI3, peoples,"Email","Name",false);
            }
    
            private void ShowInfo(string info)
            {
                textBox_Info.Text = info;
            }
    
            #endregion
    
     public class people
        {
            public string Id { get; set; }
            public string Name { get; set; }
            public int Age { get; set; }
            public string Sex { get; set; }
            public string Email { get; set; }
            public string Address { get; set; }
            public string Work { get; set; }
    
            public people()
            {
    
            }
    
            public people(string id,string name,int age,string sex,string email,string address,string work)
            {
                this.Id = id;
                this.Name = name;
                this.Age = age;
                this.Sex = sex;
                this.Email = email;
                this.Address = address;
                this.Work = work;
            }
        }

    ③ 编写选择值改变的方法内容

            private void comboBox_UI_SelectedValueChanged(object sender, EventArgs e)
            {
               
                Dictionary<string,string> tmpDic = WinformUIHelper.GetComboxInfoOfSelected(comboBox_UI);
                if (tmpDic != null && tmpDic.Count > 0)
                {
                    string info = $"当前选择的内容为: 键:{tmpDic.ElementAt(0).Key} 值:{tmpDic.ElementAt(0).Value}";
                    ShowInfo(info);
                }
    
            }
    
            private void comboBox_UI2_SelectedValueChanged(object sender, EventArgs e)
            {
                Dictionary<string, string> tmpDic = WinformUIHelper.GetComboxInfoOfSelected(comboBox_UI2);
                if (tmpDic!=null && tmpDic.Count>0)
                {
                    string info = $"当前选择的内容为: 键:{tmpDic.ElementAt(0).Key} 值:{tmpDic.ElementAt(0).Value}";
                    ShowInfo(info);
                }
               
            }
    
            private void comboBox_UI3_SelectedValueChanged(object sender, EventArgs e)
            {
                Dictionary<string, string> tmpDic = WinformUIHelper.GetComboxInfoOfSelected(comboBox_UI3);
                if (tmpDic != null && tmpDic.Count > 0)
                {
                    string info = $"当前选择的内容为: 键:{tmpDic.ElementAt(0).Key} 值:{tmpDic.ElementAt(0).Value}";
                    ShowInfo(info);
                }
    
            }
    

    3.2、Dev中Winform的ComboxEdit与LookUpEdit下拉框

    ①引用命名空间【using Utils;】

    ②添加内容到下拉组件中

            #region   UI
    
            /// <summary>
            /// 添加列表信息到下拉框中
            /// </summary>
            private void AddListInfoToComboxEdit()
            {
                List<string> tmpList = new List<string>();
                for (int i = 0; i < 3; i++)
                {
                    tmpList.Add($"内容{i}");
                }
    
                WinformUIHelper.AddInfoToComboxEdit(comboBoxEdit_UI1, tmpList);
            }
    
            /// <summary>
            /// 添加键值对信息到下拉框中
            /// </summary>
            private void AddInfoToLookupEdit()
            {
                Dictionary<string, string> tmpDic = new Dictionary<string, string>();
                for (int i = 0; i < 3; i++)
                {
                    string key = $"0076yurdkh0{i}";
                    string value = $"车间{i}";
                    tmpDic.Add(key, value);
                }
    
                WinformUIHelper.AddInfoToLookupEdit(lookUpEdit_UI1,tmpDic);
            }
    
            /// <summary>
            /// 添加实体信息到下拉框中
            /// </summary>
            private void AddModelInfoToLookupEdit()
            {
                List<people> peoples = new List<people>()
                {
                   new people("20346584368001","杨思思",25,"女","3536728921@qq.com","测试地址1","高级人事经理"),
                   new people("20346584368002","张茜",23,"女","3536728922@qq.com","测试地址2","产品经理"),
                   new people("20346584368003","张伊伊",23,"女","3536728923@qq.com","测试地址3","销售经理"),
                };
    
                people people = new people();
                List<string> diplayFieldNameList = new List<string>() { 
                "编号","姓名","年龄","邮箱","地址","职位"
                };
                WinformUIHelper.AddModelInfoToLookupEdit<people>(lookUpEdit_UI2, peoples, diplayFieldNameList,
                    0, "Name", "Id","Name",true, true);
            }
    
            private void ShowInfo(string info)
            {
                memoEdit_Info.Text = info;
            }
    
    
    
    
            #endregion
    
      public class people
        {
            public string Id { get; set; }
            public string Name { get; set; }
            public int Age { get; set; }
            public string Sex { get; set; }
            public string Email { get; set; }
            public string Address { get; set; }
            public string Work { get; set; }
    
            public people()
            {
    
            }
    
            public people(string id, string name, int age, string sex, string email, string address, string work)
            {
                this.Id = id;
                this.Name = name;
                this.Age = age;
                this.Sex = sex;
                this.Email = email;
                this.Address = address;
                this.Work = work;
            }
        }

    ③ 编写选择值改变的方法内容

      private void comboBoxEdit_UI1_SelectedValueChanged(object sender, EventArgs e)
            {
                Dictionary<string, string> tmpDic = WinformUIHelper.GetComboxInfoOfSelected(comboBoxEdit_UI1);
                if (tmpDic != null && tmpDic.Count > 0)
                {
                    string info = $"当前选择的内容: 键:{tmpDic.ElementAt(0).Key} 值:{tmpDic.ElementAt(0).Value}";
                    ShowInfo(info);
                }
               
            }
    
            private void lookUpEdit_UI1_EditValueChanged(object sender, EventArgs e)
            {
                Dictionary<string, string> tmpDic = WinformUIHelper.GetLookUpEditInfoOfSelected(lookUpEdit_UI1);
                if (tmpDic != null && tmpDic.Count > 0)
                {
                    string info = $"当前选择的内容: 键:{tmpDic.ElementAt(0).Key} 值:{tmpDic.ElementAt(0).Value}";
                    ShowInfo(info);
                }
               
            }
    
            private void lookUpEdit_UI2_EditValueChanged(object sender, EventArgs e)
            {
                Dictionary<string, string> tmpDic = WinformUIHelper.GetLookUpEditInfoOfSelected(lookUpEdit_UI2);
                if (tmpDic != null && tmpDic.Count > 0)
                {
                    string info = $"当前选择的内容: 键:{tmpDic.ElementAt(0).Key} 值:{tmpDic.ElementAt(0).Value}";
                    ShowInfo(info);
                }
            }

    其他参考资料:

    DevExpress中的lookupedit的使用方法详解 

    展开全文
  • C#自定义ComboBox下拉框

    2018-12-25 20:42:28
    这个是从国外网站直接下载的自定义ComboBox下拉框,支持下拉列表中带复选框,下来列表多列列表。
  • 问题描述 我有两个combox,都需要以列表作为数据源,其中一个还涉及显示时的转换(后台是“+/-/ ”,前台则要显示“正向/反向/无方向”)。本篇涉及数据源的绑定和后台获取结果。 解决方案 ...ComboBox Gri

    问题描述

    我有两个combobox,都需要以列表作为数据源,其中一个还涉及显示时的转换(后台是“+/-/ ”,前台则要显示“正向/反向/无方向”)。本篇涉及数据源的绑定和后台获取结果。

    解决方案

    前台

        <Window.Resources>
            <local:DirectionToZhConverter x:Key="dir2zh"/>
        </Window.Resources>
    
    <!--这个需要转换-->
    <ComboBox Grid.Row="4" Grid.Column="1" x:Name="gfDirection" SelectedIndex="0">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Converter={StaticResource dir2zh}}" />
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>
    <!--这个不用转换-->
    <ComboBox Grid.Row="5" Grid.Column="1" x:Name="gfType" SelectedIndex="0"/>
    

    其中SelectedIndex是指默认选择的选项的index。

    后台

    public GraphFeatureWindow()
    {
        InitializeComponent();
        List<string> directions = new List<string>{"+", "-", ""};
        List<string> types = new List<string> { "promoter", "primer_bind"};
        this.gfDirection.ItemsSource = directions;
        this.gfType.ItemsSource = types;
    }
    private void Submit_Click(object sender, RoutedEventArgs e)
    {
        string dire_select = Convert.ToString(this.gfDirection.SelectedItem); # 获取值
        string type_select = Convert.ToString(this.gfType.SelectedItem);
        MessageBox.Show("*Direction:" + dire_select + "#Type:" + type_select + "&Name:" + gfi.Name);
    }
    

    转换器

    	/// <summary>
    	/// 把DisplayFeatureObject.direction转换成汉字
    	/// </summary>
    	public class DirectionToZhConverter : IValueConverter
    	{
    		object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
    		{
    			string d = System.Convert.ToString(value);
    			if (d == "+")
    			{
    				return "正向";
    			}
    			else if (d == "-")
    			{
    				return "反向";
    			} else { 
    				return "无方向";
    			}
    		}
    
    		object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    		{
    			string d = System.Convert.ToString(value);
    			if (d == "正向")
    			{
    				return "+";
    			}
    			else if (d == "反向")
    			{
    				return "-";
    			}
    			else {
    				return "";
    			}
    		}
    	}
    

    结果就是点击按钮,会弹出消息:
    在这里插入图片描述

    展开全文
  • 今天为大家分享的是Easyui中的Comobox组件,下拉列表组的实现方式! 属性 首先来展示一下comobox组件中的一些属性、事件、以及方法吧~ 事件 方法 当然,这些ComoBox的属性、方法、事件都是从Combo组件中拓展而...

    前言

    今天为大家分享的是Easyui中的Comobox组件,下拉列表组的实现方式!

    属性

    首先来展示一下comobox组件中的一些属性、事件、以及方法吧~

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    事件

    在这里插入图片描述

    方法

    在这里插入图片描述
    当然,这些ComoBox的属性、方法、事件都是从Combo组件中拓展而来的,所以不仅有Combo的属性、还有ComboBox组件的属性!

    案例演示

    博主还是喜欢按照这个固定的套路来吧,分为两种方式:

    1、静态html实现

    在这里插入图片描述
    这种方式一般不通用的,所以我通常都使用动态的方式去获取数据!

    代码展示:

    jsp页面需要必须引入css、js样式:

    <!-- 写全局样式 -->
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/themes/default/easyui.css">   
    <!-- 定义图标的样式 -->
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/themes/icon.css">   
    <!--组件库源文件的js文件-->
    <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/jquery.min.js"></script>  
    <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>    
    

    首先jsp页面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <!-- 写全局样式 -->
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/themes/default/easyui.css">   
    <!-- 定义图标的样式 -->
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/themes/icon.css">   
    <!--组件库源文件的js文件-->
    <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/jquery.min.js"></script>  
    <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>    
    <script type="text/javascript" src="${pageContext.request.contextPath }/comobox.js"></script>
    <title>静态方式实现</title>
    </head>
    <body>
    	<h2>Basic ComboBox</h2>
    	<p>Type in ComboBox to try auto complete.</p>
    	<div style="margin:20px 0"></div>
    	<div class="easyui-panel" style="width:100%;max-width:400px;padding:30px 60px;">
    		<div style="margin-bottom:20px">
    			<select class="easyui-combobox" name="state" label="State:" labelPosition="top" style="width:100%;">
    				<option value="AL">Alabama</option>
    				<option value="AK">Alaska</option>
    				<option value="AZ">Arizona</option>
    				<option value="AR">Arkansas</option>
    				<option value="CA">California</option>
    				<option value="CO">Colorado</option>
    				<option value="CT">Connecticut</option>
    				<option value="DE">Delaware</option>
    				<option value="FL">Florida</option>
    				<option value="GA">Georgia</option>
    				<option value="HI">Hawaii</option>
    				<option value="ID">Idaho</option>
    				<option value="IL">Illinois</option>
    				<option value="IN">Indiana</option>
    				<option value="IA">Iowa</option>
    				<option value="KS">Kansas</option>
    				<option value="KY">Kentucky</option>
    				<option value="LA">Louisiana</option>
    				<option value="ME">Maine</option>
    				<option value="MD">Maryland</option>
    				<option value="MA">Massachusetts</option>
    				<option value="MI">Michigan</option>
    				<option value="MN">Minnesota</option>
    				<option value="MS">Mississippi</option>
    				<option value="MO">Missouri</option>
    				<option value="MT">Montana</option>
    				<option value="NE">Nebraska</option>
    				<option value="NV">Nevada</option>
    				<option value="NH">New Hampshire</option>
    				<option value="NJ">New Jersey</option>
    				<option value="NM">New Mexico</option>
    				<option value="NY">New York</option>
    				<option value="NC">North Carolina</option>
    				<option value="ND">North Dakota</option>
    				<option value="OH" selected>Ohio</option>
    				<option value="OK">Oklahoma</option>
    				<option value="OR">Oregon</option>
    				<option value="PA">Pennsylvania</option>
    				<option value="RI">Rhode Island</option>
    				<option value="SC">South Carolina</option>
    				<option value="SD">South Dakota</option>
    				<option value="TN">Tennessee</option>
    				<option value="TX">Texas</option>
    				<option value="UT">Utah</option>
    				<option value="VT">Vermont</option>
    				<option value="VA">Virginia</option>
    				<option value="WA">Washington</option>
    				<option value="WV">West Virginia</option>
    				<option value="WI">Wisconsin</option>
    				<option value="WY">Wyoming</option>
    			</select>
    		</div>
    	</div>
    </body>
    </html>
    

    然后需要用到的js文件:

    $(function(){
    	url:combobox_data1.json
    })
    

    2、js动态获取数据

    1、通过元素创建一个预定义结构的下拉列表框。

    <select id="cc" class="easyui-combobox" name="dept" style="width:200px;">   
        <option value="aa">---请选择---</option>   
        <option>湖南省</option>   
        <option>四川省</option>   
        <option>河南省</option>   
        <option>云南省</option>   
        <option>浙江省</option>  
        <option>贵州省</option>  
        <option>江苏省</option>  
    </select>
    

    当然这段代码是放在jsp页面的~

    comobox.js文件:

    $(function(){
    	/*url:combobox_data1.json,*/
    	$('#cc').combobox({    
    	    url:'combobox_data.json',    
    	    valueField:'id',    
    	    textField:'name'   
    	});
    })
    

    运行结果:

    在这里插入图片描述
    话说博主个人觉得这种方式更加适合用来做地区的二级联动啦!

    2、通过标签创建下拉列表框。

    jsp页面:

     <input id="cc" 
     class="easyui-combobox" name="dept"   
      data-options="valueField:'id',
      textField:'text',
      url:'combobox_data1.json'" />
    

    js文件:

    $(function(){
    	/*url:combobox_data1.json,*/
    	$('#cc').combobox({    
    	    url:'combobox_data.json',    
    	    valueField:'id',    
    	    textField:'text'   
    	});
    })
    

    运行结果:

    在这里插入图片描述
    第二种方式记得在webcontent下面导入json字符串:

    [{
    	"id":1,
    	"text":"Java",
    	"desc":"Write once, run anywhere"
    },{
    	"id":2,
    	"text":"C#",
    	"desc":"One of the programming languages designed for the Common Language Infrastructure"
    },{
    	"id":3,
    	"text":"Ruby",
    	"selected":true,
    	"desc":"A dynamic, reflective, general-purpose object-oriented programming language"
    },{
    	"id":4,
    	"text":"Perl",
    	"desc":"A high-level, general-purpose, interpreted, dynamic programming language"
    },{
    	"id":5,
    	"text":"Basic",
    	"desc":"A family of general-purpose, high-level programming languages"
    }]
    

    JSON数据格式化例子:

    [{    
        "id":1,    
        "text":"text1"   
    },{    
        "id":2,    
        "text":"text2"   
    },{    
        "id":3,    
        "text":"text3",    
        "selected":true   
    },{    
        "id":4,    
        "text":"text4"   
    },{    
        "id":5,    
        "text":"text5"   
    }]  
    

    3、也可使用Javascript创建下拉列表框。

    jsp页面:

    <input id="cc" name="dept" value="aa">  
    

    js代码:

    $('#cc').combobox({    
        url:'combobox_data.json',    
        valueField:'id',    
        textField:'text'   
    });  
    

    关于js代码中的一些属性:

    属性名称默认值
    url路径
    valueFieldvalue
    textFieldtext

    注意:

    url路径记得和你引入的json字符串保持一致!

    valueField 属性类型是String

    valueField、textField 基础数据值名称绑定到下拉列表框

    默认值是text 但是也可不使用text!

    总结

    博主今天的内容就分享到这里啦,关于comobox后台的实现,有空会继续思考编码的哈,到时候继续分享给你们,欢迎评论留言交流噢,拜拜~

    在这里插入图片描述

    展开全文
  • C# 自定义ComboBox显示颜色下拉框

    热门讨论 2014-03-12 10:33:08
    Custom Controls C# WinForm 自定义ComboBox 显示颜色下拉框,在WinForm界面设计方面,采用自定义的ComboBox控件实现下拉框可选择颜色列表。可显示颜色小方块,源代码可在VS2008下编译通过。
  • 今天在开发过程中,遇到了一个如何关于向easyui插件combobox添加下拉选项的问题。搞了很久,终于曲线找到了一条解决办法,把解决问题的过程记录如下,供有需要的人参考。 源代码如下,通过ajax调用,从服务端...
  • //下拉列表 ChoiceBox<Student> cb = new ChoiceBox(); cb.getItems().addAll(s1,s2,s3,s4,s5); //数据转换 cb.setConverter(new StringConverter() { //只显示名字 @Override public String toString...
  • QT comboBox设置下拉菜单()

    万次阅读 多人点赞 2018-09-29 11:50:19
    设置combobox的item方法有两种 方法一:适合有规律的,可利用for循环减少代码量,当然也可以一个一个插入 方法二:适合无规律的 代码如下 //方法一: for (int i=1;i&amp;lt;5;i++) { ui-&amp;gt...
  • QT ComboBox 下拉对话框

    万次阅读 多人点赞 2018-08-02 14:13:32
    目录 一、简介 二、ui界面设计 ...向窗口中拖入一个Combo Box控件,双击Combo Box对象,添加下拉菜单的选项。 可以在属性编辑栏,编辑对象的属性。   三、信号函数 选中Combo Box,右键“转...
  • WPF 在listview中如何实现Combobox下拉菜单绑定Demo C# WPF ListView
  • WPF 控件样式之ComboBox 下拉菜单

    千次阅读 2020-06-30 10:08:16
    当选项过多时,使用下拉菜单展示并选择内容。 依次为普通ComboBox 、带清除的ComboBox、可编辑的ComboBox、带清除的可编辑ComboBox 使用方式 <Page.Resources> <sysCollection:ArrayList x:Key=...
  • easyui combobox 下拉列表添加选择项

    千次阅读 2015-10-20 17:25:51
    我们在使用easyui combobox 创建下拉列表时,需要通过ajax获取从服务端返回的json字符串,并显示在客户端。但除了显示数据库中存在的数据,往往需要为返回的结果增加一个选项,比如“全部”。 对于这个问题尝试...
  • vs2008演示演示ComboBox下拉列表控件的使用实例
  • 介绍 在DataGridView单元格中显示下拉列表 ...另外新建ComboBox,并设置下拉选项。 添加如下三个函数,代码如下 private void dataGridView1_CurrentCellChanged(object sender, EventArgs e) {
  • 1.定义一个变量绑定下拉的值 private bool saveImage = false; /// <summary> /// 是否打开保存图片 /// </summary> public bool SaveImage { get { return saveImage; } set { saveImage = ...
  • C#种的下拉框ComboBox不支持下拉复选框列表与下拉树形列表等,系统中需要用到的地方使用了第三方组件,现在需要将第三方组件替换掉。 二、设计 基本思路:重写ComboBox,将原生的下拉部分屏蔽,使用...
  • c#下拉列表框框combobox

    千次阅读 2020-05-15 02:45:58
    启动: 点击button,获取选择数据: 如何用代码给combobox添加列表选项? 一、 cmb下拉框.Items.Add("c#"); 运行: 二、 cmb下拉框.Items.AddRange(new string[] { "窗体","修炼","手册" }); 三、 string[] strs = ...
  • VBCombox实现下拉

    2014-03-11 20:05:39
    可以实现vb的Combox自动下拉,用了别人的代码修改了一下。
  • 内容:下拉框的添加,删除,查找功能的实现 /// <summary> /// 下拉框内容添加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> ...
  • 就是为QComboBox添加下拉表项, addItems() 就是为QComboBox添加下拉表项啊,但是可以一次zhi添加很多个,比如dao QStringList list; list<<""<<“Altemative”<<“Blues”<<“Comedy”<...
  • 本方法和用checkbox, listbox等控件和事件拼凑出来的不同,本方法是一个集成的独立控件,基本实现了控件的顺滑度,下拉框可悬浮等效果,可以认为是comboBox的升级版,使用方便,仅需引用编译好的DLL,直接在toolBox...
  • qml动态添加combobox下拉框中的内容
  • 提到了添加item可以用AddString方法,效果如下: 我定义了一个数组: CString strFont[5] = { _T("宋体"),_T("楷体"),_T("仿宋"),_T("黑体"),_T("华文细黑") }...
  • 先说固定的,大致如下,combobox3是包含这些下拉菜单的那个组件  comboBox3.Items.Clear();//先清空组件中的选项  comboBox3.Items.Add("荤菜");//这样combox3中的下拉菜单选项就是荤菜,素菜,汤粥,...
  • comboBox下拉选项中添加图片 1、将需要添加的图片加入到imageList中 2、循环图片清单,加入绘入comboBox中,代码如下: foreach (string key in imageList1.Images.Keys) { comboBox1.Items.Add(key); } ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,077
精华内容 3,630
关键字:

combobox添加下拉内容

友情链接: part1sb.rar