李晓亮的博客

导航

Combo控件用法小结

1.为Combo绑定数据

代码1
public static void InitCombo(ComboBox Combo1,bool bUseEmpty)
        {
            
try
            {
                ArrayList arrStatus
=new ArrayList();  
                
if(bUseEmpty==true)
                {
                    arrStatus.Add(
new DictionaryEntry("-1",""));
                }
                arrStatus.Add(
new DictionaryEntry("0","未完成"));
                arrStatus.Add(
new DictionaryEntry("1","已完成"));
                
                Combo1.DataSource
=arrStatus;                       
                Combo1.DisplayMember
="Value";   
                Combo1.ValueMember
="Key";
            }
            
catch(Exception err)
            {
                
throw new Exception(err.Message);
            }
        }

 2.Combo值的遍历

 

代码2
        public static void InitComboByDictionary(ComboBox Combo1,bool bUseAll)
        {
            
try
            {
                ArrayList arrStatus
=new ArrayList();  
                
if(bUseAll==true)
                {
                    arrStatus.Add(
new DictionaryEntry("-1","全部"));
                }
                arrStatus.Add(
new DictionaryEntry("0","未完成"));
                arrStatus.Add(
new DictionaryEntry("1","已完成"));
                
                Combo1.DataSource
=arrStatus;                       
                Combo1.DisplayMember
="Value";   
                Combo1.ValueMember
="Key";
            }
            
catch(Exception err)
            {
                
throw new Exception(err.Message);
            }
        }

        
/// <summary>
        
/// 根据Combo的去查找指定项,并选中该项。
        
/// 注意:向Combo的Item中添加的内容必须是DictionaryEntry类型
        
/// </summary>
        
/// <param name="Combo1">需要查找的ComboBox</param>
        
/// <param name="strCmbKey">被查找的Item的键</param>
        public static void SetCombSelItemByValue(ComboBox Combo1,string strCmbKey)
        {
            IEnumerator myEnum 
=Combo1.Items.GetEnumerator();
            DictionaryEntry dicItem;
            
bool bFound=false;
            
            
while (myEnum.MoveNext())   
            {  
                dicItem 
= (DictionaryEntry)myEnum.Current;  
                
if(dicItem.Key.ToString()==strCmbKey)
                {
                    Combo1.SelectedItem
=dicItem;
                    bFound
=true;
                    
break;
                }
            }
            
if(bFound==false) Combo1.Text="";
        }

        /// <summary>
        
/// 根据Combo的值去查找指定项,并选中该项。
        
/// 注意:向Combo的Item中添加的内容必须是DictionaryEntry类型
        
/// </summary>
        
/// <param name="Combo1">需要查找的ComboBox</param>
        
/// <param name="strCmbValue">被查找的Item的值</param>
        
public static void SetCombSelItemByText(ComboBox Combo1,string strCmbValue)
        {
            IEnumerator myEnum 
=Combo1.Items.GetEnumerator();
            DictionaryEntry dicItem;
            
bool bFound=false;
            
            
while (myEnum.MoveNext())   
            {  
                dicItem 
= (DictionaryEntry)myEnum.Current;  
                
if(dicItem.Value.ToString()==strCmbValue)
                {
                    Combo1.SelectedItem
=dicItem;
                    bFound
=true;
                    
break;
                }
            }
            
if(bFound==false) Combo1.Text="";
        }

 

 

posted on 2010-10-27 16:58  LeeXiaoLiang  阅读(369)  评论(0)    收藏  举报