在WPF中使用另一个组合框选定项填充组合框

本文关键字:组合 填充 另一个 WPF | 更新日期: 2023-09-27 18:14:28

我知道以前可能有人问过这个问题并回答过这个问题。但是我不能在我的问题中使用它们,因为我是wpf和c#连接数据库的新手。

这是问题:我有一个mysql数据库,它的表有2列国家和地区。我从一个组合框中选择国家,这很好。我想根据国家来选择地区。我使用两个组合框来选择国家和地区。

当我选择一个国家时,我仍然无法加载地区。我认为我的sql字符串和wpf事件处理可能会抛出问题。

         string new_student_sql = "SELECT Id,Name FROM world.city WHERE 
         CountryCode = '"; 
         string connectionStr = new_student_sql + comboBoxCountry.Text + 
         "' AND District= '" + comboBoxDistrict.Text + "'";

         MySqlCommand newStudent = new MySqlCommand(connectionStr, conn);
         newStudent.CommandText = connectionStr;
         conn.Open();
         DataTable dt = new DataTable();
         dt.Load(newStudent.ExecuteReader());
         conn.Close();
         dataGrid.DataContext = dt;
         MessageBox.Show(connectionStr);

我得到的国家值作为comboBoxCountry.Text的组合框。但是当我在comboBoxDistrict selection changed method中给出这个值时,我在districts中得到了一个空的组合框。

我应该如何根据第一个的选择来填充它们。任何建议和代码示例将是非常感激的。提前谢谢你。

在WPF中使用另一个组合框选定项填充组合框

我明白了。实际上这是一个愚蠢的错误。我忘了在countryselectionchange事件功能中调用comboBoxDistrict功能。因为这个错误,学区不会更新。而不是comboBoxDistrict。文本使用comboBoxDistrict。SelectedValue来获取选中的值并使用变量代替

              string connectionStr = new_student_sql + comboBoxCountry.Text   + 
              "' AND District= '" + comboBoxDistrict.Text + "'";

使用变量

              String country= comboBoxCountry.SelectedValue.ToString(); 

以便更容易使用。感谢任何试图解决这个问题并指导我MVVM模式的人,我肯定会给一个镜头。