在WPF中的组合框中显示MySQL数据库的列?我只显示'System.Data.DataRowView'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在WPF中的组合框中显示MySQL数据库的列?我只显示'System.Data.DataRowView'相关的知识,希望对你有一定的参考价值。
我正在尝试获取表格列中的值以填充组合框的选项。每当我尝试时,组合框都会填充正确数量的选项,但不是列的值,而是选项都是'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;
}
答案
您应该像这样设置DisplayMemberPath。
<ComboBox DisplayMemberPath="YourColumnName"/>
并将ComboBox的ItemsSource设置为dt.DefaultView。
ComboBox_1.ItemsSource = dt.DefaultView;
您只能在ComboBox中显示一列。如果要显示所有列,可以使用DataGrid,也可以为ComboBox定义ItemTemplate。
以上是关于在WPF中的组合框中显示MySQL数据库的列?我只显示'System.Data.DataRowView'的主要内容,如果未能解决你的问题,请参考以下文章