繁体   English   中英

c#wpf组合框选择

[英]c# wpf combobox selection

我试图根据第一选择改变第二个组合框。 对于第一个组合框,我从数据库中的表中获取数据。

           {
        SqlConnection conn = new SqlConnection("Server = localhost;Database = autoser; Integrated Security = true");
        SqlDataAdapter da = new SqlDataAdapter("Select  id_type,type FROM types", conn);


        DataSet ds = new DataSet();

        da.Fill(ds, "types");



        typescb.ItemsSource = ds.Tables[0].DefaultView;
        typescb.DisplayMemberPath = ds.Tables[0].Columns["type"].ToString();
        typescb.SelectedValuePath = ds.Tables[0].Columns["id_type"].ToString();

    }

例如,如果在第一个组合框中我选择卡车在秒中应该显示卡车列表,或者如果我选择汽车,则在秒中应该出现在我的数据库中的汽车列表。 我查看了这个网站上的一些帖子,他们没有帮助我,所以我发布了这个问题。 对不起,我的英语不好!

当您选择一个类别(也就是您的第一个ComboBox的项目)时,例如汽车 ,您可以从存储车辆的数据库中读取数据,而不是按“ 汽车 ”类型过滤它们。

例如在LINQ中:

var cars = readFromDbList.Where(item => item.Type == "car");

当然,此示例使用类型作为字符串,而item对象具有Type属性,但您将使用自己的实现。

使用WPF的一个好处是使用绑定来更新UI。 在这种情况下,您试图强制UI更新。 您的UI应根据下划线数据模型的更改进行更新。 我建议使用SQLMetal生成ORM层,使用LINQ获取数据,使用WPF进行渲染。

不久前我写了一篇关于设置它的文章。 http://netlegger.blogspot.ca/2013/05/using-linq-to-sql-with-sqlmetal-wpf.html

当您完成所有设置后,可以根据属性更改事件触发绑定。 您在下划线数据模型中更改的任何内容都将反映在UI中。

你应该是SelectIndexChange事件的代码..

con.Open(); string str =“select * from Tablename where CarName ='”+ ComboBox1.Text +“'”Groupby CarName; SqlCommand cmd = new SqlCommand(str,con); SqlDataReader dr = cmd.ExecuteReader(); if(dr.Read()){ComboBox1.Text = dr [“CarName”]。ToString();

            con.Close();
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM