[英]C# WPF Get Value from first Combobox and change value of second Combobox
幾天來,我一直在嘗試將兩個組合框連接到 mysql 數據庫,創建一個主要和一個輔助 combobox,這取決於第一個 combobox 的選擇應該返回“精確”,但是,只有在第二次更改后才能獲得正確的值。
在創建帖子之前我在谷歌搜索了很多,最重要的是我檢查了網站上的幾個問題(非常老),但我無法解決
裝載機第一 COMBOBOX:
public void load()
{
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["dbx"].ConnectionString);
MySqlCommand cmd = new MySqlCommand("SELECT CLASSIFICATION FROM `classification`", conn);
conn.Open();
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
conn.Close();
TipoClass.ItemsSource = dt.DefaultView;
}
裝載機第二 COMBOBOX:
public void loadOne(string name)
{
MessageBox.Show(name);
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["dbx"].ConnectionString);
MySqlCommand cmd = new MySqlCommand("SELECT DETAILS FROM `details` WHERE CLASSIFICATION = " + name, conn);
conn.Open();
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
conn.Close();
DetailsClass.ItemsSource = dt.DefaultView;
}
XAML.CS:
private void SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (TipoClass.SelectedItem != null)
{
string myString = TipoClass.Text;
MessageBox.Show(myString);
}
}
XAML:
<ComboBox HorizontalAlignment="Left" Grid.Row="11" VerticalAlignment="Center" Width="350" Height="30" Margin="106,0,0,0" x:Name="TipoClass" DisplayMemberPath="CLASSIFICATION" SelectionChanged="SelectionChanged"/>
<ComboBox HorizontalAlignment="Left" Grid.Row="12" VerticalAlignment="Center" Width="350" Height="30" Margin="106,0,0,0" x:Name="DetailsClass" DisplayMemberPath="DETTAGLIO"/>
嘗試在事件處理程序中像這樣調用您的方法:
private void SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string selectedValue = TipoClass.SelectedItem as string;
if (!string.IsNullOrEmpty(selectedValue))
loadOne(selectedValue);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.