在 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
属性 绑定到您要使用的数据,才能使用 DisplayMemberPath
和 SelectedValuePath
属性。
使用 问题作为信息来源,我稍微修改了您的代码,看看它是否像这样工作:
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";
}
我正在尝试使用 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
属性 绑定到您要使用的数据,才能使用 DisplayMemberPath
和 SelectedValuePath
属性。
使用
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";
}