2013-12-10 88 views
0

你好我的组合框过滤(级联)有问题。 所以我必须是:通过组合框1和组合框2的选定值来过滤组合框3

ComboBox1(填充有来自tblDepartment数据)

comboBox2(从编辑项目由本人申请:1,2,3,4年)

comboBox3 (shoudl被过滤(从comboBox1和comboBox2的选择依赖)。

在comboBox3我想2是上市name_of_course有部门像comboBox1和像今年comboBox2。

谢谢很多,最好的问候。

+0

你能提供一些代码吗?和你的tblDepartment表格列... –

回答

0

听起来像一个LINQ工作...

你可以尝试像

comboBox3.DataSource = from c in courses 
    where c.department == comboBox1.Text 
    && c.year == int.Parse(comboBox2.Text) 
    select c.name; 
0

呦可以使用ComboBoxSelectedItem属性来获取所选择的项目。

试试这个:

private void button1_Click(object sender, EventArgs e) 
    {    
     comboAll.Items.Add(comboCourseName.SelectedItem.ToString()+" "+comboYear.SelectedItem.ToString()); 
    } 
0
SqlConnection conn = new SqlConnection("Data Source=jaci;Initial Catalog=projecttest;Integrated Security=True"); 

string query = string.Format("SELECT name_of_course FROM course WHERE kathedra='" + comboBox1.Text + "' AND year='" + comboBox2.Text + "'"); 

SqlCommand cmd = new SqlCommand(query); 
DataTable dt = new DataTable(); 
DataSet ds = new DataSet(); 

SqlDataAdapter adapter = new SqlDataAdapter(query, conn); 
adapter.Fill(dt); 

ds.Tables.Add(dt); 

foreach (DataRow dr in dt.Rows) 
{ 
    comboBox3.Items.Add(dr[0].ToString()); 
} 

我已经解决了这一问题,但我现在面临一个新的问题,当我改变对cathedra的选定项目,我得到在以前的项目comboBox3,所以我需要做一个清除项目的声明,但我不知道该把它放在哪里 - (comboBox3.items.Clear)。