所有常用的ComboBox方法

2014-12-31 13:54:01  访问(1700) 赞(0) 踩(0)


        /// <summary>
        /// ComboBox添加不重复的Text项
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="_text"></param>
        public void ComboBoxAddNoRepeatText
            (
                ComboBox cbb,
                string _text
            )
        {
            if (_text == null || _text.Length == 0)
                return;

            int iCount = cbb.Items.Count;

            for (int i = 0; i < iCount; ++i)
            {
                if (cbb.Items[i].ToString() == _text)
                    return;
            }

            cbb.Items.Add(_text);
        }


        /// <summary>
        /// ComboBox添加通过Int范围值添加项
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="minValue"></param>
        /// <param name="maxValue"></param>
        public void ComboBoxInitByInt
            (
                ComboBox cbb,
                int minValue,
                int maxValue
            )
        {
            for (int i = minValue; i <= maxValue; ++i)
            {
                cbb.Items.Add
                   (
                       new ComboBoxItem
                           (
                                i.ToString(),
                                i.ToString()
                           )
                   );
            }
        }

        /// <summary>
        /// ComboBox添加项
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="_text"></param>
        /// <param name="_value"></param>
        public void ComboBoxAdd
            (
                ComboBox cbb,
                string _text,
                string _value
            )
        {
            cbb.Items.Add
                   (
                       new ComboBoxItem
                           (
                                _text,
                                _value
                           )
                   );
        }


        /// <summary>
        /// ComboBox添加项
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="_text"></param>
        /// <param name="_value"></param>
        public void ComboBoxAdd
            (
                ComboBox cbb,
                string _text,
                string _value,
                object _tag
            )
        {
            cbb.Items.Add
                   (
                       new ComboBoxItem
                           (
                                _text,
                                _value,
                                _tag
                           )
                   );
        }


        /// <summary>
        /// 通过DataTable数据源初始化ComboBox
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="dt"></param>
        public void ComboBoxInitByBasicDataTable
            (
                ComboBox cbb,
                DataTable dt
            )
        {

            cbb.Items.Clear();

            int iCount = dt.Rows.Count;

            if (iCount == 0)
                return;

            DataRow dr = null;

            for (int i = 0; i < iCount; ++i)
            {
                dr = dt.Rows[i];

                cbb.Items.Add
                    (
                        new ComboBoxItem
                            (
                                dr[DataColumnName.TheName].ToString(),
                                dr[DataColumnName.ID].ToString()
                            )
                    );
            }

            cbb.SelectedIndex = 0;
        }



        /// <summary>
        /// 通过DataTable数据源初始化ComboBox
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="dt"></param>
        /// <param name="TextField"></param>
        /// <param name="ValueField"></param>
        public void ComboBoxInitByBasicDataTable
            (
                ComboBox cbb,
                DataTable dt,
                string TextField,
                string ValueField
            )
        {

            cbb.Items.Clear();

            int iCount = dt.Rows.Count;

            if (iCount == 0)
                return;

            DataRow dr = null;

            for (int i = 0; i < iCount; ++i)
            {
                dr = dt.Rows[i];

                cbb.Items.Add
                    (
                        new ComboBoxItem
                            (
                                dr[TextField].ToString(),
                                dr[ValueField].ToString()
                            )
                    );
            }

            cbb.SelectedIndex = 0;
        }


        /// <summary>
        /// 通过string数组添加ComboBox的子项
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="theList"></param>
        public void ComboBoxInitByListString(ComboBox cbb, List<string> theList)
        {
            foreach (string s in theList)
            {
                cbb.Items.Add(s);
            }
        }

        /// <summary>
        /// 通过string类型的值,设置ComboBox的选中
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="theValue"></param>
        /// <returns></returns>
        public int ComboBoxSetSelectedByStringValue(ComboBox cbb, string theValue)
        {
            int iCount = cbb.Items.Count;

            ComboBoxItem item = null;

            for (int i = 0; i < iCount; ++i)
            {
                item = cbb.Items[i] as ComboBoxItem;

                if (item == null)
                    continue;

                if (item.Value == theValue)
                {
                    cbb.SelectedIndex = i;
                    return i;
                }
            }

            return -1;
        }

        /// <summary>
        /// 获得ComboBox选中的值(string类型)
        /// </summary>
        /// <param name="cbb"></param>
        /// <returns></returns>
        public string ComboBoxGetSelectedStringValue(ComboBox cbb)
        {
            ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;

            if (item == null)
            {
                throw new Exception
                    (
                        "方法:"
                        + MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:" + "ComboBoxItem item = cbb[" + cbb.Name + "].SelectedItem as ComboBoxItem; 为null");
            }

            return item.Value;
        }


        /// <summary>
        /// 获得ComboBox选中的值(int类型)
        /// </summary>
        /// <param name="cbb"></param>
        /// <returns></returns>
        public int ComboBoxGetSelectedIntValue(ComboBox cbb)
        {
            ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;

            if (item == null)
            {
                throw new Exception
                    (
                        "方法:"
                        + MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:" + "ComboBoxItem item = cbb[" + cbb.Name + "].SelectedItem as ComboBoxItem; 为null");
            }

            return int.Parse(item.Value);
        }

        /// <summary>
        /// 获得ComboBox选中的值(long类型)
        /// </summary>
        /// <param name="cbb"></param>
        /// <returns></returns>
        public long ComboBoxGetSelectedLongValue(ComboBox cbb)
        {
            ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;

            if (item == null)
            {
                throw new Exception
                    (
                        "方法:"
                        + MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:" + "ComboBoxItem item = cbb[" + cbb.Name + "].SelectedItem as ComboBoxItem; 为null");
            }

            return long.Parse(item.Value);
        }

        /// <summary>
        /// 获得ComboBox选中的值(long类型)
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public long ComboBoxGetSelectedLongValue(ComboBox cbb, long defaultValue)
        {
            ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;

            if (item == null)
            {
                return defaultValue;
            }

            return long.Parse(item.Value);
        }


        /// <summary>
        /// 获得选中的Tag
        /// </summary>
        /// <param name="cbb"></param>
        /// <returns></returns>
        public object ComboBoxGetSelectedTag(ComboBox cbb)
        {
            ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;

            if (item == null)
                return null;

            return item.Tag;
        }

        /// <summary>
        /// 设置索引(如果索引越界,则直接返回,避免异常)
        /// </summary>
        /// <param name="cbb"></param>
        /// <param name="selectedIndex"></param>
        public void ComboBoxSetSelectedIndex
            (
                ComboBox cbb,
                int selectedIndex
            )
        {
            if (cbb == null || cbb.Items.Count == 0)
                return;

            if (selectedIndex < 0 || selectedIndex >= cbb.Items.Count)
                return;

            cbb.SelectedIndex = selectedIndex;
        }



标签:所有常用的ComboBox方法 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)