SelectedValuePath в wpf c # из базы данных Oracle - PullRequest
0 голосов
/ 30 июня 2018

Я немного запутался, используя выбранный путь. indNacionalidad все еще приносит мне нулевое значение, и я просто хочу идентификатор выбранного элемента в выпадающем списке. Нагрузка:

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();
        }
    }

SelectionChanged:

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

и если это возможно, как вы получаете int?

XAML:

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

1 Ответ

0 голосов
/ 30 июня 2018

Это просто. Просто измените событие SelectionChanged следующим образом.

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