猿问

在 WPF 的组合框中显示 MySQL 数据库的列?

我正在尝试获取表列中的值来填充组合框的选项。每当我尝试时,组合框都会填充正确数量的选项,但不是列的值,选项都是“System.Data.DataRowView”。


XAML


<ComboBox x:Name="ComboBox_1" HorizontalAlignment="Left" Margin="124,23,0,0" VerticalAlignment="Top" Width="95" Height="42" ItemsSource="{Binding}"/>


C#


public MainWindow()

{

    InitializeComponent();

    string connectionString = "SERVER=localhost;DATABASE=dbname; UID=myPC;Password=myPW;";


    MySqlConnection connection = new MySqlConnection(connectionString);


    MySqlCommand cmd = new MySqlCommand("Select columnname from tablename", connection);

    connection.Open();



    DataTable dt = new DataTable();

    dt.Load(cmd.ExecuteReader());

    connection.Close();


    ComboBox_1.DataContext = dt;


}


梵蒂冈之花
浏览 88回答 1
1回答

幕布斯7119047

您应该像这样设置 DisplayMemberPath。<ComboBox&nbsp;DisplayMemberPath="YourColumnName"/>并像这样将 ComboBox 的 ItemsSource 设置为 dt.DefaultView。ComboBox_1.ItemsSource&nbsp;=&nbsp;dt.DefaultView;您只能在 ComboBox 中显示一列。如果要显示所有列,可以改用 DataGrid 或为 ComboBox 定义 ItemTemplate。
随时随地看视频慕课网APP
我要回答