Отображение столбца базы данных MySQL в выпадающем списке в WPF?У меня отображается только «System.Data.DataRowView» - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь получить значения в столбце таблицы, чтобы заполнить параметры комбинированного списка. Всякий раз, когда я пытаюсь это сделать, поле со списком заполняется правильным количеством опций, но вместо значений столбца все эти опции - «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;

}

1 Ответ

1 голос
/ 26 апреля 2019

Вы должны установить DisplayMemberPath следующим образом.

<ComboBox DisplayMemberPath="YourColumnName"/>

И установите ItemSource в ComboBox как dt.DefaultView следующим образом.

ComboBox_1.ItemsSource = dt.DefaultView;

Вы можете показать только один столбец в ComboBox. Если вы хотите показать все столбцы, вы можете вместо этого использовать DataGrid или определить ItemTemplate для ComboBox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...