来自 oracle 数据库的 wpf c# 中的 SelectedValuePath

SelectedValuePath in wpf c# from oracle DataBase

我对使用 selectedvaluepath 有点困惑。 indNacionalidad 仍然给我带来一个空值,我只想要组合框中所选项目的 ID。 加载:

private void combonacionalidad_Loaded(object sender, RoutedEventArgs e)
    {
        using (OracleConnection ora = new OracleConnection(con))
        {
            ora.Open();
            OracleCommand comm = new OracleCommand("select * from NACIONALIDAD order by idnacionalidad", ora);
            comm.CommandType = System.Data.CommandType.Text;
            comm.ExecuteNonQuery();

            OracleDataReader dr = comm.ExecuteReader();

            OracleDataAdapter oda = new OracleDataAdapter(comm);
            DataTable dt = new DataTable();
            oda.Fill(dt);
            combonacionalidad.ItemsSource = dt.AsDataView();
            combonacionalidad.DisplayMemberPath = dt.Columns[1].ToString();
            combonacionalidad.SelectedValuePath = "idnacionalidad";
            ora.Close();
        }
    }

选择已更改:

private void combonacionalidad_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        String indNacionalidad = ((ComboBoxItem)combonacionalidad.SelectedValue).ToString();
    }

如果可能的话,你如何获得一个整数?

XAML:

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

很简单。只需按如下方式更改 SelectionChanged 事件。

private void combonacionalidad_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        int indNacionalidad = combonacionalidad.SelectedIndex;
    }