如何在另一个组合框的selectedindexchanged上添加项目到组合框 [英] how to add items to combobox on selectedindexchanged of another combobox

查看:79
本文介绍了如何在另一个组合框的selectedindexchanged上添加项目到组合框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我有两个组合框。首先在页面加载事件上填充,然后在第一个组合框的selectedindexchange事件中填充第二个。

这是我的代码:

Hi,
I have two combobox. First get populated on page load event and second get populated on selectedindexchange event of first combobox.
Here is my code:

dl is object of DAL class

 private void Frm_Incentives_Load(object sender, EventArgs e)
        {
            
            dl.Fn_Select(cmbCostCenter);
        }

private void cmbCostCenter_SelectedIndexChanged(object sender, EventArgs e)
        {
            if(cmbCostCenter.Items.Count>0)
            {
                dl.Fn_Select_WithParametre(cmbCostCenter.SelectedValue.ToString(),cmbEmployee);
            }
        }

===============DAL========

internal void Fn_Select(ComboBox combo)
        {
            try
            {
              
                con.Open();
                cmd = new SqlCommand("select CCN,CCn_Name from Dept ", con);
                adpt = new SqlDataAdapter(cmd);
                adpt.Fill(ds);
                combo.Items.Clear();
                if (ds.Tables[0].Rows.Count > 0)
                {
                    combo.DataSource = ds.Tables[0];//Error
                    combo.DisplayMember = ds.Tables[0].Columns[1].ToString();
                    combo.ValueMember = ds.Tables[0].Columns[0].ToString();
                }
                con.Close();
               

            }
            catch(Exception ex)
            {
               
                con.Close();
            }
        }

 internal void Fn_Select_WithParametre(string code,ComboBox combo)
        {
            try
            {
               
                con.Open();
                cmd = new SqlCommand("select Emp_Code,Emp_Name from Master where CCN="+code+" ", con);
                adpt = new SqlDataAdapter(cmd);
                adpt.Fill(ds);
                combo.Items.Clear();
                if(ds.Tables[0].Rows.Count>0)
                {
                combo.DataSource = ds.Tables[0];
                combo.DisplayMember = ds.Tables[0].Columns[3].ToString();
                combo.ValueMember = ds.Tables[0].Columns[4].ToString();
                con.Close();
                }               
            }
            catch (Exception ex)
            {
              
                con.Close();
            }
        }

推荐答案

而不是使用 SelectedIndexChanged 事件尝试使用 SelectionChangeCommitted
Instead of using the SelectedIndexChanged event try using SelectionChangeCommitted


这篇关于如何在另一个组合框的selectedindexchanged上添加项目到组合框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆