【问题标题】:SelectedValuePath in wpf c# from oracle DataBase来自oracle数据库的wpf c#中的SelectedValuePath
【发布时间】:2018-12-09 08:32:19
【问题描述】:

我对使用 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();
        }
    }

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"/>

【问题讨论】:

    标签: c# wpf visual-studio combobox x11


    【解决方案1】:

    这很简单。只需将 SelectionChanged 事件更改如下。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多