首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据选择的ComboBox1和ComboBox2值过滤ComboBox3

根据选择的ComboBox1和ComboBox2值过滤ComboBox3
EN

Stack Overflow用户
提问于 2013-12-11 06:57:17
回答 3查看 125关注 0票数 0

你好,我遇到了一个comboBox过滤(级联)的问题。所以我要说的是:

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

comboBox2 (我自己从编辑项目中归档: 1,2,3,4年)

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

在comboBox3中,我想列出2个像comboBox1和year这样的部门的name_of_course。

非常感谢,致以最好的问候。

EN

回答 3

Stack Overflow用户

发布于 2013-12-11 07:17:22

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

你可以尝试像这样的东西

代码语言:javascript
复制
comboBox3.DataSource = from c in courses 
    where c.department == comboBox1.Text
    && c.year == int.Parse(comboBox2.Text)
    select c.name;
票数 0
EN

Stack Overflow用户

发布于 2013-12-11 09:45:33

您可以使用ComboBoxSelectedItem属性来获取所选项目。

试试这个:

代码语言:javascript
复制
private void button1_Click(object sender, EventArgs e)
    {            
        comboAll.Items.Add(comboCourseName.SelectedItem.ToString()+" "+comboYear.SelectedItem.ToString());
    }
票数 0
EN

Stack Overflow用户

发布于 2013-12-11 17:47:51

代码语言:javascript
复制
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)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20507120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档