在 c# WPF 中从 oracle 数据库加载组合框

Load a combobox from oracle Database in c# WPF

我正在尝试使用 Oracle 数据库填充组合框,但我是 WPF 新手。 我错过了什么? C#:

private void combonacionalidad_Loaded(object sender, RoutedEventArgs e)
    {
        ora.Open();
        OracleCommand comm = new OracleCommand("select idnacionalidad, nacionalidad from nacionalidad ", ora);
        comm.CommandType = System.Data.CommandType.Text;

        OracleDataAdapter oda = new OracleDataAdapter(comm);

        DataSet ds = new DataSet();

        oda.Fill(ds);
        combonacionalidad.DisplayMemberPath = "nacionalidad";
        combonacionalidad.SelectedValuePath = "idnacionalidad";
    }

XAML :

<ComboBox x:Name="combonacionalidad" HorizontalAlignment="Left" Margin="520,76,0,0" VerticalAlignment="Top" Width="110" Loaded="combonacionalidad_Loaded"/>

您必须先将 combonacionalidad.ItemSource 属性 绑定到您要使用的数据,才能使用 DisplayMemberPathSelectedValuePath 属性。 使用 问题作为信息来源,我稍微修改了您的代码,看看它是否像这样工作:

private void combonacionalidad_Loaded(object sender, RoutedEventArgs e)
{
    ora.Open();
    OracleCommand comm = new OracleCommand("select idnacionalidad, nacionalidad from nacionalidad ", ora);
    comm.CommandType = System.Data.CommandType.Text;

    OracleDataAdapter oda = new OracleDataAdapter(comm);

    DataTable dt = new DataTable();
    oda.Fill(dt);
    combonacionalidad.ItemsSource = dt.AsDataView();
    combonacionalidad.DisplayMemberPath = "nacionalidad";
    combonacionalidad.SelectedValuePath = "idnacionalidad";
}