如何在另一个组合框的selectedindexchanged上添加项目到组合框 [英] how to add items to combobox on selectedindexchanged of another combobox
本文介绍了如何在另一个组合框的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 theSelectedIndexChanged
event try usingSelectionChangeCommitted
这篇关于如何在另一个组合框的selectedindexchanged上添加项目到组合框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文