按ComboBox1和ComboBox2的选定值过滤ComboBox3

时间:2013-12-10 22:57:17

标签: c# sql

您好我遇到了comboBox过滤(级联)问题。 所以我拥有的是:

ComboBox1(填充了来自tblDepartment的数据)

comboBox2(由我自己从EDIT ITEMS提交:1,2,3,4多年)

comboBox3(从选择comboBox1和comboBox2中过滤(依赖)。

在comboBox3中的

我想要2列出name_of_course,它有像comboBox1这样的部门和像comboBox2一样的年份。

非常感谢,最诚挚的问候。

3 个答案:

答案 0 :(得分:0)

听起来像LINQ的工作......

您可以尝试类似

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

答案 1 :(得分:0)

Yo可以使用SelectedItem的{​​{1}}属性来获取所选项目。

试试这个:

ComboBox

答案 2 :(得分: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)。