Combobox заполняется из datatable select выбранный элемент
Привет всем, у меня есть простой вопрос, Ну, это просто, вероятно, для большинства из вас, но по какой-то причине у меня не было ничего, кроме проблем с его выяснением.
У меня есть combobox, который заполнен datatable объекта с 2 свойствами. Я хотел бы получить значение одного из свойств, когда я выбираю определенный элемент в поле со списком. Вот мой класс и код, который создает datatable и xaml.
private void BindComboBoxStates() { DataView dataview = dataSetStates.Tables[0].DefaultView; ComboboxState.ItemsSource = dataview; ComboboxState.DisplayMemberPath = dataSetStates.Tables[0].Columns["Name"].ToString(); ComboboxState.SelectedValuePath = dataSetStates.Tables[0].Columns["Abbreviations"].ToString(); } private void CreateDataTableStates() { DataTable dataTableStates = new DataTable("States"); dataTableStates.Columns.AddRange(new DataColumn[] { new DataColumn("Name", typeof(string)), new DataColumn("Abbreviations", typeof(string)) }); foreach(US_State st in StateArray.States()) { dataTableStates.Rows.Add(st.Name); } dataSetStates.Tables.Add(dataTableStates); } <ComboBox x:Name="ComboboxState" Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" Width="120" HorizontalAlignment="Left" ToolTip="Enter your state." /> <!-- ItemsSource="{Binding Path=states}" DisplayMemberPath="Name" SelectedValuePath="Abbreviations" --> //And here is where I have been trying to select the item //var state = ComboboxState.SelectedValue;//ComboboxState.SelectedValue.ToString(); //var state = ((ComboBoxItem)ComboboxState.SelectedItem).Content.ToString(); // as ComboBoxItem)//.GetValue.ToString(); var cb = (sender as ComboBox); var selectedItem = (cb.SelectedItem as DataRowView); //cb.SelectedItem["Abbreviations"].ToString();
Что я уже пробовал:
перепробовал множество способов получить выбранное значение
//var state = ComboboxState.SelectedValue;//ComboboxState.SelectedValue.ToString(); //var state = ((ComboBoxItem)ComboboxState.SelectedItem).Content.ToString(); // as ComboBoxItem)//.GetValue.ToString(); var cb = (sender as ComboBox); var selectedItem = (cb.SelectedItem as DataRowView); //cb.SelectedItem["Abbreviations"].ToString();